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 time模块
Apr 29 Python
尝试用最短的Python代码来实现服务器和代理服务器
Jun 23 Python
78行Python代码实现现微信撤回消息功能
Jul 26 Python
Python列表推导式与生成器用法分析
Aug 02 Python
python实现多层感知器
Jan 18 Python
python基础梳理(一)(推荐)
Apr 06 Python
python实现得到当前登录用户信息的方法
Jun 21 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
如何在python中实现随机选择
Nov 02 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
用Python生成HTML表格的方法示例
Mar 06 Python
django之导入并执行自定义的函数模块图解
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下实现农历日历的代码
2007/03/07 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
浅析python中的分片与截断序列
2016/08/09 Python
python实现简易动态时钟
2018/11/19 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
python与pycharm有何区别
2020/07/01 Python
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
英国医生在线预约:Top Doctors
2019/10/30 全球购物
管理学专业个人求职信范文
2013/09/21 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
生日邀请函范文
2014/01/13 职场文书
论文答谢词
2015/01/20 职场文书
社团个人总结范文
2015/03/05 职场文书
捐款通知怎么写
2015/04/24 职场文书
实习报告范文
2019/07/30 职场文书
ConstraintValidator类如何实现自定义注解校验前端传参
2021/06/18 Java/Android
JS中如何优雅的使用async await详解
2021/10/05 Javascript
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers