/etc/aliases
に次のような行があるとします。
foo-bar: "|/etc/smrsh/some_script"
some_script
はユーザーmail
として実行されていますが、ユーザーnobody
として実行されている必要があります。
私はローカル配信エージェントとしてprocmail
を使用しており、システムはいくつかのろくでなしのRHELです。
Sendmailまたはprocmailを設定して、やりたいことを実行するにはどうすればよいですか?
これは、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として実行されます。
これに大きなセキュリティホールがないことを保証するものではないことに注意してください。