auszuführen Ich möchte erlauben, dass php rsync unter den Privilegien eines anderen Benutzers durchführt, sagen wir WWWsync-Benutzer.Erlaube www-data, rsync unter anderem Benutzer (php)
Wie kann ich dies mit Sudo-Konfiguration erreichen? Hier ist, was ich getan habe:
In sudo configutaion (sudo visudo)
www-data www-data-sync=(wwwsync) NOPASSWD: /usr/bin/rsync
Diese Linie arbeitet als excpected, wenn sie als wwwsync Benutzer angemeldet
rsync -avz -e "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress ~/some/path/ [remoteuser]@[remotehost]:~/some/path/
Aber diese Zeile ausgeführt von PHP mit shell_exec() funktioniert nicht
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/
Ist es die richtige Art, rsync unter wwwsync-Benutzer auszuführen? Ist die Sudo-Konfiguration richtig eingestellt?