python 切换root 执行命令的方法
如下,以创建系统用户举例,
配置文件配置普通用户信息,登入后切换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中执行shell命令的几个方法小结
最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了. 尝试第二种方案 os.popen() 复制代码 代码如下: output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的
-
对python中执行DOS命令的3种方法总结
1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. 使用Popen模块产生新的process 现在大部分人都喜欢使用Popen.Popen方法不会打印出cmd在linux上执行的信息.的确,Popen非常强大,支持多种参数和模式.使用前需要from subprocess import Popen, PIPE.但是Popen函数有一个缺陷,就是它是一个阻塞的方
-
Python下调用Linux的Shell命令的方法
有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 1.1. os模块的exec方法族 Python的exec系统方法同Unix的exec系统调用是一致的.这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回.( 这个看了点 help(os) --> search "exec" 的相关介绍,但是没
-
python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: 该命令目前已经废弃,被subprocess所替代: # coding=utf-8 ''' Created on 2013年11月22日 @author: crazyant.net ''' import commands import pprint def cmd_exe(cmd_String): p
-
Pycharm以root权限运行脚本的方法
因为权限不够,导致Pycharm在运行脚本时报错: socket.error: [Errno 1] Operation not permitted 网上有一些修改文件使得Pycharm运行脚本时可以不需要密码的以root权限运行. 但是大多操作雷同,估计是复制粘贴的,而且下方有几条评论表示IDE报错. 在跟随他操作到最后时发现无法继续,就干脆用简单粗暴的方式,以sudo启动IDE: sudo ./pycharm.sh 启动后需要手动导入项目与解释器,不然代码无法运行. 导入解释器后即可运行代码
-
在Python中执行系统命令的方法示例详解
前言 Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库.在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法. 本文将详细介绍关于Python中如何执行系统命令的相关资料,下面话不多说了,来一起看看详细的介绍吧. (1) os.system() 这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息. >>> import os
-
python 切换root 执行命令的方法
如下,以创建系统用户举例, 配置文件配置普通用户信息,登入后切换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(paramik
-
python利用paramiko连接远程服务器执行命令的方法
python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件. 1.得到一个连接的对象 在进行连接的时候,可以使用如下的代码: def connect(host): 'this is use the paramiko connect the host,return conn' ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddP
-
Python实现SSH远程登陆,并执行命令的方法(分享)
在自动化测试过程中,比较常用的操作就是对远程主机进行操作,如何操作呢?使用SSH远程登陆到主机,然后执行相应的command即可. 使用Python来实现这些操作就相当简单了.下面是测试code. 代码如下:(code运行环境:python27+eclipse+pydev) import paramiko def sshclient_execmd(hostname, port, username, password, execmd): paramiko.util.log_to_file("par
-
Python远程linux执行命令实现
1.远程登录到linux上,使用到的模块paramiko #远程登陆操作系统 def ssh(sys_ip,username,password,cmds): try #创建ssh客户端 client = paramiko.SSHClient() #第一次ssh远程时会提示输入yes或者no client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #密码方式远程连接 client.connect(sys_ip, 22, userna
-
通过shell脚本循环进入目录执行命令的方法
公司需要部署一套新的环境,新环境里面好多项目,整体目录结构如为:/webserver/* 所有的项目都在webserver目录下,其中有laravel和thinkphp项目的代码. laravel框架中, 根目录下storage vendor bootstrap 目录需要设置777权限. thinkphp框架,根目录App下Runtime目录需要设置777权限. 因此相对应的目录结构如下; laravel框架的目录结构为:/webserver/aaa/www/storage,vendor,boo
-
在pycharm中python切换解释器失败的解决方法
在pycharm中我们有时需要切换python的版本,这里需要注意的是我们是在PyCharm中的Preferences中切换的, 在File的Setting中切换可能会导致失败 以上这篇在pycharm中python切换解释器失败的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
改变 Python 中线程执行顺序的方法
一.主线程会等待所有的子线程结束后才结束 首先我看下最普通情况下,主线程和子线程的情况. import threading from time import sleep, ctime def sing(): for i in range(3): print("正在唱歌...%d" % i) sleep(1) def dance(): for i in range(3): print("正在跳舞...%d" % i) sleep(1) if __name__ == '
-
利用源码编译Android系统的APK和可执行命令的方法
编译Android系统APK 1.设置环境 export ANDROID_HOME=/home/administrator/soft/android export PATH=$PATH:$ANDROID_HOME/out/host/linux-x86/bin export ANDROID_PRODUCT_OUT=$ANDROID_HOME/out/target/product/generic 2.创建项目 android create project -t 1 -k com.lhw.led -a
-
让DOSBox启动后自动执行命令的方法讲解
使用DOSBox,可以在win下模拟DOS,自些好玩的工作.例如,学习8086汇编. 每次启动DOSBox后,都要挂载.转盘符.遇上调试的程序老死,就不好玩了. 可以想想办法,让这些固定"套路"自动化. 注意到DOSBox初启时,有一个窗口,如下显示: 就这个文件,掌管DOSBox启动后执行的命令. 找到这个文件. 用记事本就可以编辑. 拉到最下面,找到[autoexec]部分,补充命令如下: 然后重启DOSBox就行了. 截屏?不给. 自己做吧! 总结 以上就是这篇文章的全部内容了,
-
Python切换pip安装源的方法详解
一.pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能. Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装. 二.Linux下的源配置 检查pip.conf文件是否存在 >> cd ~ >> mkdir .pip >> ls ~/.pip 三.编辑源 方案1: 直接编辑pip.conf sud
随机推荐
- MongoDB的基本安装与管理命令脚本总结
- 基于js里调用函数时,函数名带括号和不带括号的区别
- asp.net Reporting Service在Web Application中的应用
- 百度前台js笔试题与答案
- 浅析php数据类型转换
- PHP flock 文件锁详细介绍
- JS实现很酷的EMAIL地址添加功能实例
- RegexOptions.IgnoreCase正则表达式替换,忽略大小写
- Android Studio中使用lambda表达式的方法
- Android开发中播放声音的两种方法分析
- js向上无缝滚动,网站公告效果 具体代码
- asp实现dig功能的js代码
- MongoDB的mongo shell常用操作方法及操作脚本笔记
- MSSQL汉字转拼音函数实现语句
- 详解Vue.js之视图和数据的双向绑定(v-model)
- 使用BigDecimal进行精确运算(实现加减乘除运算)
- Mac 下 Android Studio 不打印日志的解决办法
- 炽热的文字
- JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
- python pytest进阶之xunit fixture详解