私はphpページを持っています。
これは、php ページから渡された変数をチェックする検証 bash スクリプトを呼び出します。
次に、root ユーザーで実行する必要がある別の bash スクリプトを呼び出します。ここのガイドに従いましたroot ユーザーの下で PHP から bash スクリプトを実行する方法ですが、スクリプトを root として実行することはできません。
私は次のものを持っています:
phpページ
$bashFile = shell_exec('./Validation.sh "'.$coinName.'" "'.$coinNameAbreviation.'" "'.$blockReward.'" "'.$blockSpacing.'" "'.$targetTimespan.'" "'.$totalCoins.'" "'.$firstBitAddy.'" "'.$seedNode.'" "'.$seedName.'" "'.$headline.'" ');
echo "<pre>$bashFile</pre>";
検証ファイル:
sudo nohup /bin/bash /usr/sbin/CoinCreationBashFile "$coinName" "$coinNameAbreviation" "$blockReward" "$blockSpacing" "$targetTimespan" "$totalCoins" "$firstAddyBit" "$seedNode" "$nameSeedNode" "$headline" "$blocksPerDay" "$startingDifficulty" >> /tmp/BASH2log.txt 2>&1 &
私が追加しました
www-data ALL=NOPASSWD /usr/sbin/CoinCreationBashFile
sudo visudo の最後まで
そしてした:
chown root:root /usr/sbin/CoinCreationBashFile
chmod 755 /usr/sbin/CoinCreationBashFile
ここの提案から usr/sbin から実行していましたhttp://ubuntuforums.org/showthread.php?t=1848069 誰でも私が間違っていることを見ることができますか?? 多くの感謝の編集:sudoコマンドなしでCoinCreationBashFileスクリプトを実行でき、ルート権限が必要なポイントまで問題なく実行できます...スクリプトが機能していることを知っており、ターミナルからスクリプトを実行すると、必要に応じて完全に実行されます。tmp/BASH2log.txt に出力
sudo: no tty present and noaskpass program specified