Rootop 服务器运维与web架构

为普通用户配置了sudoers免密码但还是要求输入

# 用户信息

root@lanji-server:~# id lanji
uid=1000(lanji) gid=1000(lanji) groups=1000(lanji),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd)

虽然在sudoers中配置了lanji用户的nopasswd指令,但是lanji此用户同时属于sudo 这个组

lanji@lanji-server:~$ cat /etc/group |grep lanji
adm:x:4:syslog,lanji
cdrom:x:24:lanji
sudo:x:27:lanji
dip:x:30:lanji
plugdev:x:46:lanji
lxd:x:116:lanji
lanji:x:1000:

在sudoers中也定义了 %sudo 组的权限是需要输入密码的。
所以根据 sudoers 的规则,如果匹配到多个,则最后一个生效。

root@lanji-server:~# cat /etc/sudoers|grep -vE "^$|^#"
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
lanji   ALL=(ALL:ALL) NOPASSWD:ALL
%admin ALL=(ALL) ALL
%sudo	ALL=(ALL:ALL) ALL

解决办法就是把lanji用户挪到最下面

# 通过-l参数查看当前账号会匹配到哪些规则

lanji@lanji-server:~$ sudo -l
Matching Defaults entries for lanji on lanji-server:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User lanji may run the following commands on lanji-server:
    (ALL : ALL) ALL
    (ALL : ALL) NOPASSWD: ALL

现在可以看到匹配了2条,最后一条优先生效,就不需要输入密码了。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/5283.html

作者:Venus

服务器运维与性能优化

评论已关闭。