ホームページ  >  記事  >  バックエンド開発  >  Linux で PHP を実行すると、外部シェル スクリプト システムが 126 を返します。

Linux で PHP を実行すると、外部シェル スクリプト システムが 126 を返します。

WBOY
WBOYオリジナル
2016-12-01 00:56:422017ブラウズ

リーリー

最初の $command は独自のシェル スクリプトで、目的は 2 番目のパラメーターのフォルダーを 3 番目のファイルのパスに圧縮することです。現在の状況について教えてください。
1 php.ini はセーフ モードではないため、ls やその他のコマンドを通常どおり呼び出すことができます。
2 システムがこのコマンドを実行すると、126 が返され、exec の 2 番目のパラメータは空になります。
3 生成されたファイルの html ディレクトリには 777 のアクセス許可が与えられ、圧縮されたテスト ディレクトリにも 777 のアクセス許可が与えられます
4 コマンド ラインを使用してこのコマンドを直接実行できます

このようなカスタム スクリプトを実行するにはどのような構成が必要ですか? ?

返信内容:

リーリー

最初の $command は独自のシェル スクリプトで、目的は 2 番目のパラメーターのフォルダーを 3 番目のファイルのパスに圧縮することです。現在の状況について教えてください。
1 php.ini はセーフ モードではないため、ls やその他のコマンドを通常どおり呼び出すことができます。
2 システムがこのコマンドを実行すると、126 が返され、exec の 2 番目のパラメータは空になります。
3 生成されたファイルの html ディレクトリには 777 のアクセス許可が与えられ、圧縮されたテスト ディレクトリにも 777 のアクセス許可が与えられます
4 コマンド ラインを使用してこのコマンドを直接実行できます

このようなカスタム スクリプトを実行するにはどのような構成が必要ですか? ?

最終的に、selinux によって実行がブロックされていることがわかりました。参考までに結果を残しておきます。パフォーマンスは、php-cli モードではスクリプトは正常に実行でき、Web ページでの実行では 126 が返されます。sudo を追加すると 1 が返されます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。