2012-03-21 11 views
0

私はPHPでサービスを開始/停止しようとしています。/etc/sudousersにsudoでコマンドを実行

%admin ALL=(ALL) NOPASSWD: ALL 

を追加しました。通常のユーザーとして(sudo ls /のような)コマンドを実行すると、successfulyが実行されます。私は、ブラウザでこのファイルをリクエストして処理を停止していない端末でチェックインするとここで

は私のPHPファイル

exec("sudo /etc/init.d/service stop"); 

内のコードです。 私は恋しいですか?

+0

あなたのapacheユーザーは何ですか? – xdazz

+1

Apacheユーザーはwww-dataです。 – din2

+1

は、%adminグループ内のwww-dataですか? –

答えて

0

%adminの "%"は、sudoers行の先頭にあり、「グループ」つまり「管理者グループ」を意味します。 apacheユーザーがこのグループに属していない場合、この行は適用されません。

が、これはすべてので安全ではないことを

www-data ALL=(ALL) NOPASSWD: ALL 

注意してみてください。 この特定のユーザに対して利用可能なコマンドをに限定する必要があります。これは明示的に指定するか、またはCmnd_Aliasman sudoersおよび例をvisudoで参照)を定義することによって行うことができます。

関連する問題