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 相关文章推荐
Tensorflow简单验证码识别应用
May 25 Python
基于python 字符编码的理解
Sep 02 Python
python计算列表内各元素的个数实例
Jun 29 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
python 中文件输入输出及os模块对文件系统的操作方法
Aug 27 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
django ajax发送post请求的两种方法
Jan 05 Python
django中的数据库迁移的实现
Mar 16 Python
详解Pycharm安装及Django安装配置指南
Sep 15 Python
Python模块常用四种安装方式
Oct 20 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 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
浅谈thinkphp的实例化模型
2015/01/04 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
python实现查询IP地址所在地
2015/03/29 Python
Python的randrange()方法使用教程
2015/05/15 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
python实现梯度下降算法
2020/03/24 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
不听老师话的万能检讨书
2014/10/04 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
人力资源部工作计划
2019/05/14 职场文书
Python机器学习之基础概述
2021/05/19 Python
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android