小编典典

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

linux

我已经在计算机上安装了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脚本运行此系统命令。)。那么如何使该命令以编程方式运行?


阅读 604

收藏
2020-06-03

共1个答案

小编典典

您可以以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

或类似的东西。

2020-06-03