2017-12-28 7 views
0

Ich gründe auf meinen Server zu einem Webhook zu hören, die derzeitGithub Pull Webhook mit PHP - Apache Berechtigungen

shell_exec('git pull 2>&1'); 

Empfang und Ausführung funktioniert gut, außer denen es zu erhalten, um Dateien tatsächlich zu ersetzen I muss www-data (apache debian) Erlaubnis geben, alle Dateien/Ordner auf meinem Webserver zu schreiben, oder?

Derzeit wird diese erhalte ich als Ergebnis (keine Schreibrechte)

Updating 115da6c..9e82ef0 
error: unable to unlink old 'example-path/html.html' (Permission denied) 

Was sind die Auswirkungen auf die Sicherheit des Gebens www-data Erlaubnis sind Dateien zu schreiben, und das ist die richtige Wahl oder mache ich alles falsch?

Antwort

1

andere Wege zu erreichen, was Sie wollen:

  1. sudo. Konfigurieren Sie sudo, um den Befehl passwordless auszuführen, und führen Sie shell_exec('sudo git pull 2>&1'); aus.

  2. erstellen setuid- Wrapper die git pull und laufen shell_exec('git_pull_suid_wrapper'); verläuft.