web-dev-qa-db-ja.com

どのユーザーsendmailがエイリアスでスクリプトを実行するかを制御する

/etc/aliasesに次のような行があるとします。

foo-bar: "|/etc/smrsh/some_script"

some_scriptはユーザーmailとして実行されていますが、ユーザーnobodyとして実行されている必要があります。

私はローカル配信エージェントとしてprocmailを使用しており、システムはいくつかのろくでなしのRHELです。

Sendmailまたはprocmailを設定して、やりたいことを実行するにはどうすればよいですか?

1
David M

これは、Sudoと別のスクリプトを使用して実行できます。/etc/sudoersで、ユーザーmailがパスワードなしでuser nobody(およびuser nobodyのみ)としてコマンドを実行できるようにします。次のようになります。

mail  ALL = (nobody) NOPASSWD: /usr/bin/script2

その場合、some_scriptの内容はscript2のラッパーになります。

Sudo -u nobody /usr/bin/script2

その後、script2はユーザーnobodyとして実行されます。

これに大きなセキュリティホールがないことを保証するものではないことに注意してください。

1
Phil Hollenback