Notez que j'utilise le nom d'utilisateur git , donc, si vous utilisez gitosis ou tout autre nom d'utilisateur, remplissez simplement le vôtre!
Dans la console avec l' utilisateur root, exécutez cette commande:
visudo
L'éditeur "vi" sera ouvert. Ajoutez ces lignes:
Defaults:git !authenticate
git ALL=(www-data) ALL
En conséquence, le fichier (qui est ouvert dans l'éditeur "vi" en appelant "visudo") devrait ressembler à ceci:
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults:git !authenticate
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
git ALL=(www-data) ALL
# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
Appuyez ensuite sur CTRL + O pour enregistrer le fichier, puis appuyez sur Entrée pour accepter le nom de fichier (bla bla bla), puis appuyez sur CTRL + X pour fermer l'éditeur "vi".
Voila! Maintenant, git user peut exécuter des commandes en tant qu'utilisateur www-data :
sudo -u www-data git pull origin master