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 相关文章推荐
动态创建类实例代码
Oct 07 Python
python实现代码行数统计示例分享
Feb 10 Python
Python内建数据结构详解
Feb 03 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
如何在sublime编辑器中安装python
May 20 Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
python实现登录与注册系统
Nov 30 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 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正则校验用户名介绍
2008/07/19 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP xpath()函数讲解
2019/02/11 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python人脸识别初探
2017/12/21 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python 实现视频 图像帧提取
2019/12/10 Python
Css3实现无缝滚动防抖
2020/09/14 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
初中优秀班集体申报材料
2014/05/01 职场文书
诚实守信演讲稿
2014/09/01 职场文书
个人授权委托书样本
2014/09/13 职场文书
2014年民警工作总结
2014/11/25 职场文书
公司股份合作协议书
2014/12/07 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
在职证明范本
2015/06/15 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书