我正在尝试为 staging->production 发布脚本创建一个 PHP Web 界面。Web 界面是安全的(内部网、密码等),所以我很高兴 apache 充当 root 用户来执行 rsync。root 用户没有密码,密钥文件用于 SSH 访问。
我尝试在 shell 脚本中对 rysnc 命令执行 sudo 操作...
sudo rsync --verbose --recursive --times --perms --links --delete /tmp/dir1/* /tmp/dir2/
并通过将以下内容添加到 sudoers 文件中来允许 apache 运行 rsync...
apache ALL=(ALL) NOPASSWD:/usr/bin/rsync
我正在使用 PHP shell_exec 来调用脚本...
$result = shell_exec('bash /tmp/syncscript.sh 2>&1');
我收到以下错误...
sorry, you must have a tty to run sudo
如何设置以便我可以像 root 用户一样运行 rsync 命令?
谢谢!