PHPでスクリプトbashを実行したいと思います。私のスクリプトは私のサーバーにログインし、自分のアカウントを作成しています。sshをPHPで使用するbashスクリプトの実行方法
SCRIPT="useradd martinouh --home /home/martinouh --create-home; echo martinouh:$pass | chpasswd; usermod -s /bin/bash martinouh; usermod -aG sudo martinouh; usermod -aG docker martinouh;"
sshpass -p $pass ssh -o StrictHostKeyChecking=no [email protected]$ip "${SCRIPT}"
sshpass -p $pass ssh-copy-id -i /home/Martinouh/.ssh/id_rsa.pub [email protected]$ip
しかし、私はshell_exec();
を経由して、それを実行したときには、スクリプトではなくsshpass
との一部を実行して行います。
実行するにはどうすればよいですか?
現時点では、shell_exec();
をテストするだけです。
Failed to change pseudo terminal's permission: Permission denied
Failed to change pseudo terminal's permission: Permission denied
Failed to change pseudo terminal's permission: Permission denied
Failed to change pseudo terminal's permission: Permission denied
は、多分それは、SELinuxとapacheの権限で行う必要があります:私はerror_logの中でこれを取得しています以下の
<?php
$output = shell_exec('bash select.sh');
echo $output;
?>
が含まれているローカルホスト/ script.php呼び出すことによって、私のスクリプトを実行しています?
手動でbashスクリプトを実行すると期待通りに機能しますか? –
はい、手動で実行すると期待どおりに実行されます。 – Martinouh
phpでどのように実行しているかについて詳しく説明できますか? –