python 切换root 执行命令的方法


Posted in Python onJanuary 19, 2019

如下,以创建系统用户举例,

配置文件配置普通用户信息,登入后切换root用户,创建一个指定名字和密码的系统用户:

def create_user(root_pwd,username,password):
  import paramiko
  result = []
  ssh = paramiko.SSHClient()
  #把要连接的机器添加到known_hosts文件中
  ssh.load_system_host_keys()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect(
       hostname = settings.HOST,
       port = settings.PORT,
       username = settings.USERNAME,
       password = settings.PASSWORD,
       timeout = 60,
     )
  sc = ssh.invoke_shell()
 
  def exe_cmd(cmd,t=0.1):
    sc.send(cmd)
    sc.send("\n")
    time.sleep(t)
    resp = sc.recv(9999).decode("utf8")
    #print "cmd='%s',echo='%s'\n"%(cmd,resp)
    return resp
  
  #切换root账号
  resp = exe_cmd("su root",t=1)
  if resp.endswith(u"密码:"):
    resp = exe_cmd(root_pwd)
  
  #创建用户
  cmd_create_user = "useradd {username} -d /home/{username}".format(
    username = username,
  )
  exe_cmd(cmd_create_user)
 
  #修改密码
  cmd_change_user_pwd = """echo "{password}" | passwd --stdin {username}""".format(
    username = username,
    password = password,
  )
  exe_cmd(cmd_change_user_pwd)

以上这篇python 切换root 执行命令的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中is与==判断的区别
Mar 28 Python
基于Python的关键字监控及告警
Jul 06 Python
Python进程间通信Queue实例解析
Jan 25 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
Python实现钉钉订阅消息功能
Jan 14 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 Python
在Python 不同级目录之间模块的调用方法
Jan 19 #Python
python导入模块交叉引用的方法
Jan 19 #Python
python添加模块搜索路径和包的导入方法
Jan 19 #Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 #Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 #Python
在pycharm 中添加运行参数的操作方法
Jan 19 #Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 #Python
You might like
php 图像函数大举例(非原创)
2009/06/20 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
Python Web服务器Tornado使用小结
2014/05/06 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
python实现五子棋程序
2020/04/24 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
2015年小学开学寄语
2015/02/27 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
浅谈Python数学建模之线性规划
2021/06/23 Python
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers