当前位置: 首页 > 面试题库 >

在Python脚本中使用sudo

邢凯歌
2023-03-14
问题内容

每次执行脚本时,我都试图编写一个小的脚本来挂载VirtualBox共享文件夹。我想用Python来做,因为我正在尝试学习它的脚本。

问题是我需要特权才能启动安装命令。我可以将脚本作为sudo运行,但是我更喜欢它自己制作sudo。

我已经知道将密码写入.py文件并不安全,但是我们谈论的是根本不重要的虚拟机:我只想单击.py脚本并使它工作。

这是我的尝试:

#!/usr/bin/env python
import subprocess

sudoPassword = 'mypass'
command = 'mount -t vboxsf myfolder /home/myuser/myfolder'

subprocess.Popen('sudo -S' , shell=True,stdout=subprocess.PIPE)
subprocess.Popen(sudoPassword , shell=True,stdout=subprocess.PIPE)
subprocess.Popen(command , shell=True,stdout=subprocess.PIPE)

我的python版本是2.6


问题答案:
sudoPassword = 'mypass'
command = 'mount -t vboxsf myfolder /home/myuser/myfolder'
p = os.system('echo %s|sudo -S %s' % (sudoPassword, command))

试试这个,让我知道它是否有效。

和这个:

os.popen("sudo -S %s"%(command), 'w').write('mypass')


 类似资料:
  • 问题内容: 我有一个python脚本,该脚本在运行时会在终端上记录信息,我想将此记录信息发送到文本文件, 为了实现这一点,我正在插入文件 在文件末尾,我放入 问题是当它调用第一个命令时,它将终止脚本, 提前感谢我如何做这项工作的任何建议 问题答案: 问题在于,直到退出产生的外壳程序才返回,这时您的Python脚本将恢复。 执行所需操作的最简单方法是使用Python脚本作为参数来调用自身。代替 您将

  • 我正在用Python编写一个脚本,它检测提供的文本的语言。 我发现以下命令行在终端中工作,但我希望在脚本中使用它。

  • 问题内容: 我有一个脚本,执行时会向用户询问某些查询,并以json格式构建输出框架。使用python子进程,我可以从另一个名为的脚本中调用此脚本。一切都按预期工作,除了我无法在变量中获取输出?我正在Python 3中执行此操作。 问题答案: 要使用模块从另一个脚本中调用Python脚本并传递一些输入并获取其输出,请执行以下操作: 这里定义了功能。 更为灵活的替代方法是导入模块a并调用函数以获取结果

  • 问题内容: 在尽力找到先前的问题和与该问题相关的示例之后,仍然找不到所需的答案,我想到自己会提交一个问题。 由于以下原因,ExecuteStreamCommand对我而言似乎是理想的处理器: 我能够执行任何Python脚本并避免使用Jython(以与ExecuteScript类似的方式)。Jython不是我的选择。 我可以接受FlowFiles。这是必要的,因为使我的脚本消耗了前一个处理器的输出。

  • 问题内容: 我有个问题。我正在编写一个软件,该软件需要执行要求用户处于sudo模式的操作。运行’sudo python filename.py’不是一个选项,这使我想到了我的问题。有没有一种方法可以在python脚本中途更改为sudo,安全性不是问题,因为用户将知道程序应以以下方式运行以说明问题的sudo密码 以普通用户身份运行的程序 ......执行操作 用户输入sudo密码 用户更改为sudo

  • 文件结构应如下所示: (包含已安装的npm模块的文件夹) 我试过这个: 错误: 回溯(最后一次调用):文件“c:\Users\Alifreeze.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\ptvsd_launcher.py”,主文件(ptvsdArgs)第43行“c:\Users\Alifreeze.vscode\ext