在Linux中wheel组就类似于一个管理员的组。
通常在Linux下,即使我们有系统管理员root的权限,也不推荐用root用户登录。一般情况下用普通用户登录就可以了,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root的密码,就都可以通过su命令来登录为root用户,这无疑为系统带来了安全隐患。所以,将普通用户加入到wheel组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的配置文件进行配置,这个管理员组内的用户与普通用户也没什么区别,就像警察下班后,没有带枪、穿这便衣和普通人(用户)一样,虽然他的确是警察。根据应用的实例不同应用wheel组的方法也不同。这里对于服务器来说,我们希望的是剥夺被加入到wheel组用户以外的普通用户通过su命令来登录为root的机会(只有属于wheel组的用户才可以用su登录为root)。这样就进一步增强了系统的安全性。具体步骤如下:
1)修改 /etc/pam.d/su 文件,找到“# auth required pam_wheel.so use_uid”这一行,将行首的“#”去掉。
2)修改 /etc/login.defs 文件,在最后一行增加“SU_WHEEL_ONLY yes”语句。
3)用命令“usermod -G wheel 用户名”将一个用户添加到wheel组中。(命令usermod -G的意思是,修改用户所属的次要组群,默认test用户的主要组群为test)
然后,用刚刚被添加到wheel组的用户登录,并执行su命令登录为root用户,这时,输入了正确的root密码可以正常的登录为root用户。但是,如果换成一个不属于wheel组的用户时,执行了su命令后,即使输入了正确的root密码,也无法登录为root用户,普通用户登录为root用户的权限被完全剥夺了~(会收到“密码错误”的提示)。这样无疑提高了系统的安全性。
注意:这里有人可能会问,如果知道了root密码,岂不是可以直接登录系统,wheel组是不是相当于失效?
需要说明一下,在ssh的配置文件 /etc/ssh/sshd_config 中有两处参数:
(1)AllowUsers # 该参数用于设置允许连接的用户
默认配置文件是没有的AllowUsers的,需要自己加上去,如下图,设置允许test用户连接服务器
(2)PermitRootLogin no # 该参数用于设置root用户是否能够使用ssh登录
这两处参数可以任意改一处,修改完后,保存退出。
重启ssh服务,root用户就连不上服务器了。
service sshd restart