1

PHPからshスクリプトを実行したい。このためには、visudo ファイルを開く必要があります。

須藤visudo

これとともに:

www-data ALL=(ALL) NOPASSWD: ALL

できます!

しかし、すべてのコマンドを有効にしたくはありません。特定のshスクリプトだけです。だから私はそれを次のように変更しました:

www-data ALL=(ALL) NOPASSWD: /www/......./truncatefiles.sh

パスは正しいですが、shell_exec (php から) は次を返します: sudo: no tty present and no askpass program specified そして、コマンドは実行されません。visudo 行が最初の例と同じ場合。

何が問題になる可能性がありますか?

4

1 に答える 1

0

これは、潜在的なセキュリティ上の問題を引き起こす可能性があるため、悪い考えだと思います。

それでもやりたい場合は、 inwww-data ALL=(ALL) NOPASSWD: /www/......./truncatefiles.shを含む行をそのままにして、同時にコメントアウトすることができます(エラーを避けるために、常にvisudo を使用します)。Defaults requiretty/etc/sudoers

于 2016-12-22T21:40:04.117 に答える