我在 sudo 组中:
$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)
Run Code Online (Sandbox Code Playgroud)
在我的 sudores 中,我似乎有合适的设置:
sudo ALL=(ALL:ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
这是那里最后一个未注释的行。
但是当我尝试时git pull
,我必须重新输入密码:
$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:
Run Code Online (Sandbox Code Playgroud)
当我登录控制台时这不是问题,但在脚本中是不可接受的。那么我怎样才能允许 sudo 组中的任何人在不重新输入密码的情况下将 git pull 作为 www-data 呢?
当我直接输入我的名字时:
molot ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
这个对我有用。但是,显然,不适用于来自 sudo 组的 marian 或其他用户。据我了解manual,用户名和组名都应该在第一个文件中工作。
小智 19
似乎您的 sudoers 中的相关行缺少一个字符:
sudo ALL=(ALL:ALL) NOPASSWD: ALL
匹配名为“sudo”的用户。对于“sudo 组中的所有用户”,它应该是:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
(注意开头的 % 符号)。
归档时间: |
|
查看次数: |
3973 次 |
最近记录: |