0

kloxoのようないくつかのプログラムは、メインのApacheWebサーバーとは別のlighttpdを使用してrootとしてphpプログラムを実行します。しかし、ファイアウォール管理用のphpスクリプトをグーグルで検索してrootとして実行すると、root権限でWebサーバーを実行するべきではないと言う人もいます。

知りたいのですが、kloxoはそれを問題なくどのように使用していますか?そして、phpスクリプトでiptablesを管理するための最良の解決策は何ですか(root権限でphp exec()でコマンドを実行する方法)? また、ファイルを編集するようないくつかのphp関数。fopen

4

1 に答える 1

1

root 以外のユーザーがroot としてadduserなどを実行できるようにする必要があり、sudoers ファイルを編集するアクセス権がある場合 (たとえば、visudoを使用)、特定のコマンドに対してsudoを使用するアクセス権をユーザーに与えることができます。sudoers ファイルには、次のようなエントリがあります。

www-user ALL=NOPASSWD: /usr/sbin/adduser

これにより、パスワードを入力しなくても、ユーザーwww-user root が/usr/sbin/adduserにアクセスできるようになります。次に、スクリプト内で好みの方法を使用してこれを呼び出すことができます。

$output = `/usr/bin/sudo /usr/sbin/adduser <other_arguments>`;

誰かがあなたのウェブサーバーのユーザーアカウントを侵害した場合、システムに新しいユーザーを作成する可能性があるため、これはあまりお勧めしませんが、絶対に必要な場合はそうするでしょう.

于 2013-02-04T20:37:19.633 に答える