我的 sudoers 中有以下内容(由于篇幅较长,删除了几条评论):
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL
# Cmnd alias specification
Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/chown 0\:0 *
Cmnd_Alias VAGRANT_EXPORTS_MOVE = /bin/mv * /etc/exports
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /bin/sed -r -e * d -ibak /tmp/exports
# Allow members of group sudo to control vagrant without having to type password at every vagrant up
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_EXPORTS_MOVE, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY, VAGRANT_EXPORTS_REMOVE
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
预期行为:当我输入
cd ~
touch test
sudo chown 0:0 test
该文件更改所有者时没有要求我输入密码。实际发生的情况是,每次都会提示我输入密码。
答案1
chown 的路径不是/bin/chown
。/usr/bin/chown
更改它就可以了。
答案2
您需要为要为其启用 sudo 访问权限的特定用户名创建一个条目。例如,如果您想授予用户名“john”sudo 访问权限,则应该在/etc/sudoers
john ALL=(ALL) NOPASSWD:ALL