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中使用装饰器和元编程实现结构体类实例
Jan 28 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
python3实现随机数
Jun 25 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
python opencv读mp4视频的实例
Dec 07 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
python中正则表达式与模式匹配
May 07 Python
Python求正态分布曲线下面积实例
Nov 20 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 Python
python字符串拼接.join()和拆分.split()详解
Nov 23 Python
python文件与路径操作神器 pathlib
Apr 01 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提交form表单
2015/07/01 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
Python3中的真除和Floor除法用法分析
2016/03/16 Python
python如何获取服务器硬件信息
2017/05/11 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
C#如何进行LDAP用户校验
2012/11/21 面试题
心理健康教育心得体会
2013/12/29 职场文书
小学毕业感言300字
2014/02/19 职场文书
《火烧云》教学反思
2014/04/12 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
期末个人总结范文
2015/02/13 职场文书
初中生活随笔
2015/08/15 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS