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

使用python脚本以超级用户身份运行linux系统命令

施自明
2023-03-14
问题内容

我已经在计算机上安装了postfix,并且正在以编程方式(使用python)动态地更新virtual_alias(在某些操作上)。更新/ etc /
postfix / virtual_alias中的条目后,我将运行以下命令:

sudo /usr/sbin/postmap /etc/postfix/virtual_alias 2>>/work/postfix_valias_errorfile

但是我得到了错误:

sudo: sorry, you must have a tty to run sudo

我想以非人为方式运行上述sudo命令(这意味着我正在从python脚本运行此系统命令。)。那么如何使该命令以编程方式运行?


问题答案:

您可以以root身份本身运行python脚本-则无需添加特权即可重新加载后缀。

或者,您可以将sudo配置为不需要密码/etc/init.d/postfix

sudo配置(通过visudo)允许NOPASSWD:允许不带密码的命令。参见http://www.sudo.ws/sudo/man/sudoers.html#nopasswd_and_passwd

<username>  ALL = NOPASSWD: /etc/init.d/postfix

或类似的东西。



 类似资料:
  • 问题内容: 因此,我试图使用子进程从python脚本中以超级用户身份运行一个进程。在ipython shell中,类似 工作正常,但是一旦将其粘贴到脚本中,我就会开始获得:。 我猜这是由于sudo处理ubuntu上的环境的方式。(我也尝试和与无济于事) 所以我的问题基本上是,如果我想以超级用户身份运行,并在需要时提示用户输入超级用户密码,我该怎么做?我无意在脚本中存储密码。 编辑: 我尝试将命令既

  • 我正在尝试以root用户身份运行脚本。这是我的密码 它在出错 我也遵循了这些方法,但最终出现了错误

  • 问题内容: 我正在尝试让python删除一些目录,但出现访问错误。我认为python用户帐户没有权限吗? 是我运行脚本时得到的。 我试过了 它们都返回相同的错误。 问题答案: 即使将文件和目录设置为“只读”,即使我们刚刚复制了文件和目录,我们也遇到了问题。为您提供某种异常处理程序来处理这种情况。您调用它并提供一个异常处理程序,如下所示: 您可能想尝试一下。

  • 问题内容: 我正在使用Python在系统级别的Linux中进行项目。因此,我想知道,如果我以普通用户身份运行代码,并且正在访问系统文件,那么它应该具有root权限,那么我如何提示输入root密码并以超级用户身份运行其他代码。我想知道,如何以超级用户身份以密码提示运行python脚本。 任何帮助将不胜感激。先感谢您.. 问题答案: 您可以做的另一件事是,如果脚本不是以root身份执行的,则脚本会自动

  • 问题内容: 我需要在Jenkins中以root身份而不是默认用户身份运行Shell脚本。我需要更改什么? 我的sudoers文件是这样的: 问题答案: 您必须使用以下命令运行脚本: 但是在您必须允许在中运行脚本之前。

  • 问题内容: 我正在编写一个初始化脚本,该脚本应该以与root用户不同的用户身份执行单个命令。这是我目前正在做的事情: 通常,这在Ubuntu / Debian上可以正常工作,但是在RHEL上,该脚本以挂起方式执行。 还有另一种以其他用户身份运行命令的方法吗? (请注意,我不能使用lsb初始化函数,因为它们在RHEL / Centos 5.x中不可用。) 问题答案: 在RHEL系统上,该脚本旨在提供