Tôi thuộc nhóm sudo được rồi:
$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)
Trong sudores của tôi, tôi dường như có thiết lập phù hợp:
sudo ALL=(ALL:ALL) NOPASSWD: ALL
và nó là dòng chưa hoàn thành cuối cùng ở đó.
Nhưng khi tôi cố gắng git pull
, tôi đã gõ lại mật khẩu của mình:
$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:
Nó không phải là một vấn đề khi tôi đăng nhập vào giao diện điều khiển, nhưng nó không được chấp nhận trong các tập lệnh. Vậy làm thế nào tôi có thể cho phép bất cứ ai trong nhóm sudo git pull dưới dạng dữ liệu www mà không cần gõ lại mật khẩu?
Khi tôi đặt tên trực tiếp:
molot ALL=(ALL) NOPASSWD: ALL
nó làm việc cho tôi Nhưng, rõ ràng, không dành cho marian hoặc người dùng khác từ nhóm sudo. Theo như tôi hiểu thì thủ công , cả tên người dùng và tên nhóm sẽ hoạt động trong tệp đầu tiên.
sudoers
định dạng tệp của tôi là chính xác) là tên người dùng của người dùng đang gọi. Bạn đã thử thay thế nó bằng ký tự đại diện *
, hoặc bất kỳ người dùng nào git hook chạy như là?
sudo -u www-data ./your_script.sh
? Mục đích của kịch bản là gì?