[Linux] PHP + smrsh + sudo でメール自動処理
aliases にパイプを追加
default.example.com: |/path/to/auto/mail/catch.sh
/etc/smrsh/ に実行するコマンドを指定
cd /etc/smrsh ln -s /path/to/auto/mail/catch.sh ./
/path/to/auto/mail/catch.sh はこうなってる
#/bin/sh sudo -u user /path/to/auto/mail/catch.php
/etc/sudoers に実行許可するコマンドを入れる
mail ALL = (user) NOPASSWD: /path/to/auto/mail/catch.php
/etc/sudoers の以下の行をコメントアウト
#Defaults requiretty
- パイプ時は、mailユーザー権限で実行されるので、他のユーザーで実行するときはsudoを使う
- sudoはsudoersに追加したコマンドしか実行できない
- sudoersは440になっているので、一時的に660などにして編集する
- パスなしのユーザーは、NOPASSWD:を入れないと実行できない
0 件のコメント