โปรดสังเกตว่าฉันใช้ชื่อผู้ใช้gitดังนั้นหากคุณกำลังใช้gitosisหรือชื่อผู้ใช้อื่น ๆ เพียงกรอกชื่อของคุณ!
ในคอนโซลที่มีผู้ใช้รูทรันคำสั่งนี้:
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"
Voila! ตอนนี้ผู้ใช้คอมไพล์สามารถรันคำสั่งในฐานะผู้ใช้www-data :
sudo -u www-data git pull origin master