1

私は実際にphpスクリプトを使用してgnome-termを起動しようとしていますが、ユーザーのwww-dataに問題があるようです。

私のスクリプトは、ディレクトリに ls -l コマンドのみを作成し (テスト用です)、ローカル Web サイトの php ページで実行します。

ここに私のbashスクリプトのgnome-terminalコマンドがあります(彼をダブルクリックすると完全に実行されます):

gnome-terminal --working-directory=/opt/cuckoo -x bash -c "ls -l"

php-page での呼び出しは次のとおりです。

system("/my/path/to/the/script/script.sh");

スクリプトにエコーがあり、php.page でスクリプトを実行しようとすると、php ページに表示されます。

www-data にはそうする権利がないと思うので、chown コマンドでスクリプトの所有権を与え、最後にsudo visudoコマンドを試して、ユーザー www-data is root のようにスクリプトを実行します ( NO PASSWD arg)

しかし、ターミナルを開いて最後に ls を作成することはできません。exec も試して、$oput で結果を表示しますが、結果も同じです。

最後に、私の質問は次のとおりです: Php は本当にターミナルを実行できますか、それともばかかもしれません^^? 私を救うために時間を割いてくれてありがとう;)

4

1 に答える 1

0

PHP はすべてを実行できますが、誰が生成するかによって異なります。Web サーバーから X アプリを実行するだけではなく、単に実行するだけでは不十分です (パーミッション、DISPLAY、Xauth 設定)。X クライアントとアーキテクチャの詳細をお読みください。

問題はコーディング自体にあるのではないので、おそらくこれを尋ねるのに適切な場所はSuperUserです。

于 2012-05-18T14:12:33.640 に答える