一、背景和需求

背景:

由于docker服务进程都是以root帐号的身份运行的,所以用docker跑abpred出来的文件所有者都是root,

而我作为一般用户,操作这个文件不够权限,运行代码时需要sudo 后输入密码。

需求:

python中调用shell 执行命令后,自动输入密码。

下面图片是对应说明,可以跳过直接进入下一部分。

代码:

运行记录(sudo需要输入密码):

生成的文件的属性及所有者:

二、解决方案

管道+sudo -S:

os.system(‘echo %s | sudo -S %s‘ % (password, command))

三、原理

sudo的-S参数 含义是:从标准输入读取密码

管道前输出的密码作为sudo -S 的stdin,从而达到自动输入密码的作用。

注意:-S 是大S  小写s作用不一样

附sudo的文档:

四、成功截图

五、参考文档

PS:

摸索了好一阵,希望对读者有帮助。

原文:https://www.cnblogs.com/liangmingshen/p/14012083.html

python 自动输入用户密码_Linux中Python自动输入sudo 密码相关推荐

  1. python中输入数字函数_python中如何input输入为数字?

    在python中想要输入的数字,但是可能会出现输入为1,显示为'1',得到的并不是数字字符的情况.要想要input输入为数字,可使用eval()函数或使用int()转换. 方法一:使用eval()函数 ...

  2. python使用shell环境变量_linux中添加环境变量(python为例)

    最近想用Django搭建个人博客,之前学了些python基础语法,准备边学习Django边实战操作.自己有一个阿里云服务器,用的centOS,自带的是python2.7版本,我直接安装了python3 ...

  3. python 网页上显示数据_怎么用python将excel数据写入网页中,python 网页上excel表格数据分析...

    用python读取excel,怎样显示要查找的数据? 感觉还是CSV格式的好一些,EXCEL的要装插件,以CSV为例,段代码 sqlserver char 对应c# import linecache ...

  4. python更新到什么版本_Linux更新Python版本及修改python默认版本的方法

    linux下更新Python版本并修改默认版本,有需要的朋友可以参考下. 很多情况下拿到的服务器python版本很低,需要自己动手更改默认python版本 1.从官网下载python安装包(这个版本可 ...

  5. linux修改python版本修改哪个配置文件_linux安装python修改默认python版本方法

    linux默认是安装了python,默认是安装python2.6.6,可能安装的版本是不能符合我们需要的python要求的.我们需要重新安装python的版本,今天演示一下安装python3 首先下载 ...

  6. linux 函数自动补全,Shell脚本中实现自动补全功能

    对于Linuxer来说,自动补全是再熟悉不过的一个功能了.当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全. Bash-completion ...

  7. linux终端密码星星,如何获得您的sudo密码在Ubuntu中显示为星号 | MOS86

    我的一个朋友最近从Windows切换到Ubuntu Linux.在新操作系统花了一个星期左右的时间,他提出了一个问题109mh1112虽然这确实导致了这里和那里的一些打字错误,一次输入正确的sudo密 ...

  8. 三位数自动递增编号函数_EXCEL中序号自动增加(如何避免隐藏行)?excel自动填充序号...

    excel表格中如何自动顺序填充序号 首先打开Excel 2007,创建如图所内容.当家也可以根据自己的实际情选择练习的内容.在此为了上的需要,特制作两列,第一列就"序号",第二列 ...

  9. linux设置mysql root密码_Linux 上安装 Mysql 设置root密码问题

    Ubuntu 18.10.1 Mysql 5.7.26-0 安装mysql apt-get install mysql-server 安装完可以直接使用,但是新版本在安装过程中没有提示设置root用户 ...

最新文章

  1. Java String类方法
  2. Flex开发中遇到未整理资源
  3. ubuntu 16.04系统中nvidai、cuda、cudnn安装及注意事项
  4. mongoose mysql_mongoose入门
  5. java resultset 赋值_ResultSet数据自动绑定到JavaBean中 | 学步园
  6. HTTP请求解析过程 (简单概括)
  7. 怎么看linux的命令说明,在linux下,怎么用命令来查看版本?
  8. Python中的特殊方法、属性和迭代器
  9. 无痕驱动读写注入EAC BE
  10. 最优化方法——梯度下降法、牛顿法、LM算法
  11. 联想笔记本键盘亮屏幕不亮_笔记本电脑进入睡眠状态后无法通过鼠标或键盘来唤醒屏幕怎么解决...
  12. 认识uclinux(与LINUX区别)
  13. 阿里 P9 揭秘职场晋升:明明一样做好了本职工作,只有我一直不被提拔?
  14. 计算机电脑主板电池,电脑主板电池怎么放电_主板电池放电要多久_电脑主板电池为啥要放电...
  15. 学java被“劝退”的第八天
  16. 基于cc3200开发
  17. PostgreSQL 12 中文文档
  18. [转]图像梯度:算子
  19. Sylvester不等式证明
  20. 基于MATLAB Simulink的中性点钳位五电平逆变器仿真模型

热门文章

  1. 如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...
  2. python实例变量不存在_python – peewee实例匹配查询不存在
  3. java记录pv,计算500万PV/每天的网站
  4. linux内核 块驱动程序,linux – 为什么内核使用默认的块驱动程序而不是我的驱动程序代码?...
  5. ping 不是内部或外部命令,也不是可运行的程序 或批处理文件。的解决办法
  6. Python下载、安装及其配置
  7. 21.Merge Two Sorted Lists 、23. Merge k Sorted Lists
  8. JavaScript中实现类似StringBuilder的功能
  9. linux红黑树节点没有数据,真正理解红黑树,真正的(Linux内核里大量用到的数据 -电脑资料...
  10. java offsetdatetime_Java OffsetDateTime withHour()用法及代码示例