vpopmail を使用vadddomainして新しい仮想ドメインを追加しようとしています。apacheユーザーは vpopmail のバイナリにアクセスできないため、exec('../bin/vadddomain...')PHP から直接アクセスすることはできません。
adddomain.sh以下のようにシェルスクリプト ( ) を作成しました。
#!/bin/bash
cd /home/lxadmin/mail/bin
./vadddomain $1 postmaster_password
/etc/sudoersそして、この行をusingに追加しましたvisudo(今のところセキュリティについては忘れてください):
ALL ALL=NOPASSWD: /home/lxadmin/mail/bin/adddomain.sh
私のPHPスクリプトには次のようなものがあります:
exec('sudo /home/lxadmin/mail/bin/adddomain.sh example.com', $output);
しかし、これはまったく機能していませexample.comん (ドメインは vpopmail に追加されません)。しかし、SSH を介して root ユーザーでこのコマンドを実行すると、機能します。
ここで私の問題は何ですか?