我在 AWS 上有一个 CentOS 7 服务器。
当以用户身份登录时centos
,如何防止无需密码即可sudo -s
登录?root
root
[root@server ~]# cat /etc/sudoers | grep rootpw
Defaults rootpw
[root@server ~]# getent group wheel
wheel:x:10:centos
[root@server ~]# gpasswd -d centos wheel
Removing user centos from group wheel
[root@server ~]# getent group wheel
wheel:x:10:
[root@server ~]# su centos
[centos@server root]$ sudo -s
[root@server ~]# !!!!!!!!!!!!!!!!
答案1
sudo
始终使用用户帐户的密码。如果用户有sudo
权限,则用户可以在提示符中输入自己的密码后以 root 身份执行命令sudo
。
sudo
在您的示例中,您看到了票证有效期的影响。sudo
首次运行时,它会要求输入密码。之后,它会创建一个在一定时间内有效的票证。在此期间,sudo
不会要求输入密码。
如果你想改变这种行为,你可以通过添加来禁用该票证
Defaults timestamp_timeout=0
到/etc/sudoers
配置文件。
答案2
找到原因了。
问题在于/etc/sudoers.d/90-cloud-init-users
:
centos ALL=(ALL) NOPASSWD:ALL
这允许用户centos
无需密码即可使用 sudo。