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 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
自己编程中遇到的Python错误和解决方法汇总整理
Jun 03 Python
Python中一些不为人知的基础技巧总结
May 19 Python
Python实现多线程的两种方式分析
Aug 29 Python
Python魔法方法详解
Feb 13 Python
Python Pandas分组聚合的实现方法
Jul 02 Python
Python的Lambda函数用法详解
Sep 03 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
django中瀑布流写法实例代码
Oct 14 Python
Python实现点云投影到平面显示
Jan 18 Python
基于Python的Jenkins的二次开发操作
May 12 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 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设置页面超时时间解决方法
2015/09/22 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
Javascript hasOwnProperty 方法 & in 关键字
2008/11/26 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
Vue动态加载异步组件的方法
2018/11/21 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
python实现DES加密解密方法实例详解
2015/06/30 Python
Python使用pymysql小技巧
2017/06/04 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
PyTorch的torch.cat用法
2020/06/28 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
2014新年寄语
2014/01/20 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
行政处罚决定书
2015/06/24 职场文书
会议新闻稿
2015/07/17 职场文书
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS