Я хотел бы разрешить php выполнять rsync с правами других пользователей, скажем, пользователя wwwsync.
Как я могу добиться этого с помощью конфигурации sudo? Вот что я сделал:
В конфигурации sudo (sudo visudo)
www-data www-data-sync=(wwwsync) NOPASSWD: /usr/bin/rsync
Эта строка работает, как и ожидалось, при входе в систему как пользователь wwwsync.
rsync -avz -e "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress ~/some/path/ [remoteuser]@[remotehost]:~/some/path/
Но эта строка, выполненная из php с помощью shell_exec(), не работает.
sudo -u wwwsync rsync -avz -e "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress ~/some/path/ [remoteuser]@[remotehost]:~/some/path/
Это правильный способ выполнить rsync под пользователем wwwsync? Правильно ли настроена конфигурация sudo?