ध्यान दें कि मैं 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 दबाएँ, फिर फ़ाइल नाम (bla bla bla) स्वीकार करने के लिए Enter दबाएँ, फिर "vi" संपादक को बंद करने के लिए CTRL + X दबाएँ।
देखा! अब git उपयोगकर्ता www-data उपयोगकर्ता के रूप में कमांड निष्पादित कर सकता है :
sudo -u www-data git pull origin master