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 ユーザーでこのコマンドを実行すると、機能します。
ここで私の問題は何ですか?