Lưu ý rằng tôi đang sử dụng tên người dùng git , vì vậy, nếu bạn đang sử dụng gitosis hoặc bất kỳ tên người dùng nào khác, chỉ cần điền vào tên của bạn!
Trong giao diện điều khiển với người dùng root thực hiện lệnh này:
visudo
Trình chỉnh sửa "vi" sẽ được mở. Thêm các dòng sau:
Defaults:git !authenticate
git ALL=(www-data) ALL
Kết quả là tệp (được mở trong trình chỉnh sửa "vi" bằng cách gọi "visudo") sẽ trông như thế này:
# /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
Sau đó nhấn CTRL + O để lưu tệp, sau đó nhấn Enter để chấp nhận tên tệp (bla bla bla), sau đó nhấn CTRL + X để đóng trình chỉnh sửa "vi".
Voila! Bây giờ người dùng git có thể thực thi các lệnh như người dùng dữ liệu www :
sudo -u www-data git pull origin master