www-data ユーザーが root を RW にマウントできるようにする

www-data ユーザーが root を RW にマウントできるようにする

私が実行しているシステムには、/ほとんどの場合「ro」(読み取り専用)としてマウントされたルートパーティション()があります。ただし、「www-data」ユーザーが「rw」に設定できるようにするには、これが必要です。

「rw」にするには、コマンドを使用しますsudo mount -o remount,rw /。これはうまくいきます。

ただし、PHPスクリプト(「www-data」ユーザー)が同じコマンドを実行すると失敗します。

/etc/sudoers.d/フォルダに次の内容でファイルを作成しました。

www-data ALL=(ALL) NOPASSWD: ALL

/usr/bin/sudo /sbin/rebootPHPでコマンドを実行できるので、うまく動作することを確認できます。ただし、/bin/mountコマンドは機能しません。もっとやるべきことはありますか?

その特定のコマンドだけを実行できるようにsudoersファイルをより具体的にする予定ですが、今はうまくいきたいと思います。

ログを表示します。コマンドを手動で実行した後:

2020-10-22T19:37:19+0000 d0-14-11-00-00-03 sudo[18582]:       pi : TTY=serial1 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/mount -o remount,rw /
2020-10-22T19:37:20+0000 d0-14-11-00-00-03 sudo[18582]: pam_unix(sudo:session): session opened for user root by (uid=0)
2020-10-22T19:37:20+0000 d0-14-11-00-00-03 kernel: EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
2020-10-22T19:37:20+0000 d0-14-11-00-00-03 sudo[18582]: pam_unix(sudo:session): session closed for user root

PHPスクリプトでコマンドを実行した後:

2020-10-22T19:38:26+0000 d0-14-11-00-00-03 sudo[18703]: www-data : TTY=unknown ; PWD=/var/www/web ; USER=root ; COMMAND=/bin/mount -vo remount,rw /
2020-10-22T19:38:27+0000 d0-14-11-00-00-03 sudo[18703]: pam_unix(sudo:session): session opened for user root by (uid=0)
2020-10-22T19:38:27+0000 d0-14-11-00-00-03 sudo[18703]: pam_unix(sudo:session): session closed for user root
2020-10-22T19:38:27+0000 d0-14-11-00-00-03 kernel: EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)

解決済み

ここで解決策を使用して解決しました。

シェルを介してマウントを実行する前に、PHPとapache2を介してルートファイルシステムを再マウントすることはできません。

ベストアンサー1

おすすめ記事