1

私は128MBのVPSを持っていますが、時々散らかっています。再起動すると問題は解決しますが、ブラウザ(パスワードで保護されたページ)から再起動したい場合はどうなりますか。shell_exec()PHPの関数を使用して、「www-data」でマシン(Natty Narwhal)を再起動するにはどうすればよいですか?

sudoが必要なため混乱しています。www-dataとしてログインしたことはありませんが、sudoパスワードになりますか?また、これを実行するためのパスワードをどのように含めるのですか?

ルートを使用しますか?もしそうなら、私はwww-dataからsuをどのように行うでしょうか?

4

3 に答える 3

7

スクリプトをshutdown実行するには、rootまたはsudoの権限が必要です。Webアクセス可能なページからサーバーを再起動する必要がある場合、これを行う1つの方法はwww-data、sudoersリストに追加することですが、コマンドにアクセスする場合に限りshutdownます。

次の行を編集/etc/sudoersして追加します。

%www-data ALL=NOPASSWD: /sbin/shutdown

この行により、www-dataグループはパスワードを必要とsudo /sbin/shutdown せずにアクセスできるようになります。したがって、Webアクセス可能なスクリプトが公開されていないことを確認してください。

sudoersファイルを編集した後、スクリプトから次を使用して再起動できます。

shell_exec('sudo /sbin/shutdown -r now');
于 2012-10-04T01:09:02.167 に答える
4

これを行う別の方法は、ルート cron ジョブを数分ごとに実行してファイルをチェックすることです。ファイルが見つかった場合は、そのファイルを削除してシステムを再起動します。Web ページはファイルを作成するだけです。

于 2012-10-04T01:18:08.780 に答える
1

SSHトンネルでRSAキーを使用するのはどうですか?

www-dataユーザーにRSAキーを生成し、それを使用して別のユーザー(root)にSSH -iを生成できます。ただし、他のユーザーの許可されたホストファイルに公開キーを追加する必要があります。そうすれば、キーを使用してインタラクティブSSHを実行する限り、パスワードは必要ありません。

正確なニーズを調べて、これがセキュリティリスクではなく、状況に合っていることを確認することをお勧めしますが、これが最初に頭に浮かんだことです。

それが役に立てば幸い!

于 2012-10-04T01:08:38.853 に答える