PHP が Linux コマンド phplinux を呼び出すための権限が不足している問題の解決策
ビジネスの背景: yourcmd は私の Linux プログラムです。php を使用して cmd プログラムを実行する場合、非常に厳しい権限要件があります。
システム: CentOS 6.3
apacheはphpの実行ユーザーです
exec 関数を使用して、Linux システム上でプログラム /usr/local/yourcmd/sbin/yourcmd を実行します
PHPコードは次のとおりです:
コードをコピーします コードは次のとおりです:
$conf_file = "/var/www/html/webroot/test.tmp";
$command = "sudo /usr/local/yourcmd/sbin/yourcmd -t -f {$conf_file}";
exec($command,$out);
print_r($out);
テスト結果は許可なし
コードをコピーします コードは次のとおりです:
配列 ( [0] => sudo: tty が存在せず、askpass プログラムが指定されていません)
解決策の手順:
コードをコピーします コードは次のとおりです:
$ヴィスド
1) 次の行をコメントアウトします
コードをコピーします コードは次のとおりです:
#デフォルトが必要です
2) ファイルの最後に次の
を追加します
コードをコピーします コードは次のとおりです:
apache ALL=(ALL) NOPASSWD: ALL
Cmnd_Alias yourcmd = /usr/local/yourcmd/sbin/yourcmd
最終テストの結果
コードをコピーします コードは次のとおりです:
配列 ( [0] => 警告: メモリが小さすぎます: 1044725760 [1] => テスト構成は OK )
http://www.bkjia.com/PHPjc/954655.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/954655.html技術記事 Linux コマンドを呼び出す PHP の権限が不十分な問題の解決策、phplinux ビジネスの背景: yourcmd は私の Linux プログラムであり、php を使用して yourcmd プログラム システムを実行する場合、次のような非常に厳しい権限要件があります。