私は自分のマシンにpostfixをインストールし、virtual_aliasをプログラムで(Pythonを使用して)(いくつかのアクションで)オンザフライで更新しています。/ 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スクリプトを実行することもできます-その後、postfixをリロードするために特権を追加する必要はありません。
または、のパスワードを必要としないように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
または似たようなもの。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加