0

私は現在アプライアンスに取り組んでおり、それをホストするサーバーを再起動する可能性をユーザーに付与しようとしています。

Apacheにそれを行う権利を与える方法はありますか?

送信ボタンをクリックしたときに、このコードを実行しようとしました:

<?php exec('/sbin/reboot'); ?>

しかし、それはルートだけがそれを行うことができると言います。

そこで、これを sudoers ファイルに追加してみました:

nobody ALL = NOPASSWD: /sbin/reboot

そして、PHPからサーバーを再起動できないこのエラーがまだ発生しています。

php が使用しているロールは apache です。

私もshutdown -r今使ってみましたが、同じ問題が発生しました。

これを行う方法はありますか?それを可能にするいくつかのシステムを見てきましたが、どのようにそうするのかわかりません...

ありがとう。

4

1 に答える 1

1

あなたが何をしているのかよくわかりませんが、私はこれに気づきました:

あなたは言う:

nobody ALL = NOPASSWD: /sbin/reboot

...

The role php is using is apache.

したがって、sudoers ファイルで次のように言うべきではありません。

apacheALL = NOPASSWD: /sbin/reboot

于 2013-05-13T13:01:54.970 に答える