1

Centos ボックスに、サービスの再起動などの基本的なサーバー管理を行うために使用する bash スクリプトがいくつかあります。スクリプトの所有者でもある標準ユーザーとしてこれらを実行します。

PHP で shell_exec() を使用して、apache ユーザーでこれらを実行しようとしましたが、単に機能しません - 実行するのに十分な権限がないと思います (775 で正しいグループに属していても!)。私がしたいすべて。

sudoers ファイルを編集して、Apache にスクリプト呼び出しを実行する権限を与えようとしましたが、それでも機能せず、エラー メッセージも表示されません。

何かご意見は?別のユーザーが実行する必要がある Web ページからスクリプトをトリガーするにはどうすればよいですか?

4

2 に答える 2

0
  1. どのユーザーがApacheを実行しているかを確認します(Debianの場合はwww-dataです)
  2. 好きなファイルを実行する権限を持つsudoersリストにwww-dataを追加します
  3. / etc / passwdにwww-dataユーザーがいるシェルを確認します(有効なシェルを指定する必要があります)
  4. / bin / bash -xを指定してスクリプトを実行します(確実に出力されます)
于 2012-12-13T14:05:46.703 に答える
0

セーフモードがオフになっていることを確認してください。また、ユーザーが期待どおりのものであることを確認します。

<?php echo exec('whoami'); ?>
于 2012-12-12T21:51:43.937 に答える