Linux中wheel组的使用
wheel 组来源
wheel组概念继承自Unix,Unix系统通常使用用户组来控制访问权限,wheel组就是在某些Unix系统上使用的特殊用户组。主要用于控制对su或sudo命令的访问,它允许用户切换成另一个用户(通常是超级用户)。

为什么需要wheel组
通常情况下,为了安全起见,即使是系统管理员,也不推荐直接使用root用户登录进行系统管理。一般都是使用普通用户登入,在需要root权限来执行一些操作时,再通过su命令切换为root用户。但是如果登入服务器的人员都知道了root密码,就都可以通过su命令来获取root权限,这无疑给系统带来了安全隐患。这时wheel组的出现可以很方便地管理哪些用户可以获取root权限,哪些用户不能获取root权限。即只有属于wheel组的用户才能su root账号,不在wheel组的用户无su权限。

普通用户如何加入wheel组及相关设置
1.普通用户加入wheel用户组的方法有很多,这里举两个例子:
a).usermod -G wheel 普通账号
或
b).gpasswd -a 普通账号 wheel
2.检查是否加入wheel组,如出现下面的样子即已加入wheel组。
->groups test
test : test wheel
3.设置非wheel组用户不能通过su命令切换到root用户
a).vi /etc/pam.d/su
找到#auth required pam_wheel.so use_uid 这一行去掉#。
b).vi /etc/login.defs
在文件最后添加:SU_WHEEL_ONLY yes
4.检查生效
a).普通用户test已加入wheel组中,ssh登录后su root,输入root密码即切换成功。
[test@localhost-test ~]$ su root
密码:
[root@localhost-test test]#
b).普通用户test踢出wheel组中,ssh登录后su root,输入root密码,提示拒绝权限。
[xxf@vpn-test ~]$ su root
密码:
su: 拒绝权限
小问题:为什么wheel组 有root特权
回答:查看/etc/sudoers 文件中有下面这条:
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL