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 getopt 参数处理小示例
Jun 09 Python
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
Python 创建子进程模块subprocess详解
Apr 08 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
python中property属性的介绍及其应用详解
Aug 29 Python
python构建指数平滑预测模型示例
Nov 21 Python
Python操作redis和mongoDB的方法
Dec 19 Python
keras的三种模型实现与区别说明
Jul 03 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
Python中相见恨晚的技巧
Apr 13 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
JS设置手机验证码60s等待实现代码
2017/06/14 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
jquery实现楼层滚动效果
2018/01/01 jQuery
深入了解JavaScript 私有化
2019/05/30 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
Python生成器的使用方法和示例代码
2019/03/04 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
python生成特定分布数的实例
2019/12/05 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
实习单位接收函模板
2014/01/10 职场文书
给全校老师的建议书
2014/03/13 职场文书
捐赠仪式主持词
2014/03/19 职场文书
硕士生找工作求职信
2014/07/05 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
python 中[0]*2与0*2的区别说明
2021/05/10 Python
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
Redis批量生成数据的实现
2022/06/05 Redis
nginx七层负载均衡配置详解
2022/07/15 Servers