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松散正则表达式用法分析
Apr 29 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
python实现Floyd算法
Jan 03 Python
python ddt数据驱动最简实例代码
Feb 22 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
python匿名函数用法实例分析
Aug 03 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
Python自动化测试笔试面试题精选
Mar 12 Python
虚拟机下载python是否需要联网
Jul 27 Python
Python实现异步IO的示例
Nov 05 Python
python中的被动信息搜集
Apr 29 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
新浪新闻小偷
2006/10/09 PHP
用文本文件制作留言板提示(上)
2006/10/09 PHP
ajax缓存问题解决途径
2006/12/06 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
Using the TextRange Object
2006/10/14 Javascript
不同浏览器的怪癖小结
2010/07/11 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Python的pygame安装教程详解
2020/02/10 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
python中的插入排序的简单用法
2021/01/19 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
工商管理实习生自我鉴定范文
2013/12/18 职场文书
销售人员获奖感言
2014/02/05 职场文书
2015年公司工作总结
2015/04/25 职场文书
文书工作总结(范文)
2019/07/11 职场文书
python程序的组织结构详解
2021/12/06 Python
Golang 实现WebSockets
2022/04/24 Golang