Зверніть увагу, що я використовую ім'я користувача git , тому, якщо ви використовуєте gitosis або будь-яке інше ім’я користувача, просто заповніть своє!
У консолі з користувачем root виконайте цю команду:
visudo
Відкриється редактор "vi". Додайте ці рядки:
Defaults:git !authenticate
git ALL=(www-data) ALL
У результаті файл (який відкривається в редакторі "vi", викликаючи "visudo") повинен виглядати так:
# /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
Потім натисніть CTRL + O, щоб зберегти файл, потім натисніть Enter, щоб прийняти ім'я файлу (bla bla bla), а потім натисніть CTRL + X, щоб закрити редактор "vi".
Вуаля! Тепер користувач git може виконувати команди як користувач www-data :
sudo -u www-data git pull origin master