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通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
python3 enum模块的应用实例详解
Aug 12 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
AUC计算方法与Python实现代码
Feb 28 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
python Django 反向访问器的外键冲突解决
May 20 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
python实现PolynomialFeatures多项式的方法
Jan 06 Python
基于tensorflow权重文件的解读
May 26 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 25 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php网站地图生成类示例
2014/01/13 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
js验证表单第二部分
2006/11/25 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
用file标签实现多图文件上传预览
2017/02/14 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
python爬取网易云音乐评论
2018/11/16 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
python3让print输出不换行的方法
2020/08/24 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
.net工程师笔试题
2012/06/09 面试题
单位消防安全制度
2014/01/12 职场文书
四年级数学教学反思
2014/02/02 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书