php(apache)からsudoコマンドを実行する時に、パスワードありにして一般ユーザがアップロードしたphpではsudo実行出来ないようにする。

php(apache)からsudoコマンドを実行する時に、パスワードありにして一般ユーザがアップロードしたphpではsudo実行出来ないようにする。

ブラウザ(PHP)からFTPユーザ作成できるようにするの時は、apacheでsudo実行する時にNOPASSWD設定だったが、今回は普通にパスワード必須にする。

重要!!
sudoコマンドは、root以外のユーザでも自分のパスワードを入力すれば、root権限で実行できる。

1, apacheは初期設定だとパスワード無しなので、パスワードを設定する。パスワード無しだとvisudoで設定してもsudo実行出来ない

2, visudoコマンドで、sudo権限を変更してからreboot

3, apacheのパスワードを書いたファイルをWebルートの外側に配置。

4, shellコマンドを投げるPHPファイル

これで自分の作ったFTPユーザ管理画面のPHPはsudo出来るけど、一般ユーザがアップロードしたphpでは、パスワードが分からないのでsudo実行出来ないはず!