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 fileinput模块使用实例
May 28 Python
Python 列表(List) 的三种遍历方法实例 详解
Apr 15 Python
flask中过滤器的使用详解
Aug 01 Python
python实现录音小程序
Oct 26 Python
Python的iOS自动化打包实例代码
Nov 22 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
pymysql的简单封装代码实例
Jan 08 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
django使用多个数据库的方法实例
Mar 04 Python
pytorch 实现多个Dataloader同时训练
May 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
php生成RSS订阅的方法
2015/02/13 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
python基础教程之Hello World!
2014/08/29 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
Python单例模式实例详解
2017/03/01 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python 实现try重新执行
2019/12/21 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
python实现经纬度采样的示例代码
2020/12/10 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
春季运动会广播稿大全
2014/02/19 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
2014年党务公开方案
2014/05/08 职场文书
推普周活动总结
2014/08/28 职场文书
介绍信的格式
2015/01/30 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
教育教学读书笔记
2015/07/02 职场文书
护理工作心得体会
2016/01/22 职场文书