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中的元类(metaclass)
Feb 14 Python
Python 实现一行输入多个值的方法
Apr 21 Python
python 设置输出图像的像素大小方法
Jul 04 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
python 并发下载器实现方法示例
Nov 22 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
python 轮询执行某函数的2种方式
May 03 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
PyQt5结合QtDesigner实现文本框读写操作
Jun 11 Python
python中urllib包的网络请求教程
Apr 19 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
基于mysql的bbs设计(五)
2006/10/09 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
Puppet的一些技巧
2018/09/17 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
Django 生成登陆验证码代码分享
2017/12/12 Python
python list元素为tuple时的排序方法
2018/04/18 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
python实现飞机大战游戏
2020/10/26 Python
Python字符串格式化输出代码实例
2019/11/22 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
消防安全宣传口号
2014/06/10 职场文书
班级团队活动方案
2014/08/14 职场文书
简短清晨问候语
2015/11/10 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers