linux利用用户组给用户赋予不同的权限
在Linux中wheel组就类似于一个管理员的组。
通常在LUNIX下,即使我们有系统管理员root的权限,也不推荐用root用户登录。一般情况下用普通用户登录就可以了,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root的密码,就都可以通过su命令来登录为root用户--这无疑为系统带来了安全隐患。所以,将普通用户加入到wheel组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的配置文件进行配置,这个管理员组内的用户与普通用户也没什么区别根据应用的实例不同应用wheel组的方法也不同。这里对于服务器来说,我们希望的是剥夺被加入到wheel组用户以外的普通用户通过su命令来登录为root的机会(只有属于wheel组的用户才可以用su登录为root)。这样就进一步增强了系统的安全性。
具体步骤如下:
1)修改 /etc/pam.d/su 文件,找到“#auth required /lib/security/$ISA/pam_wheel.so use_uid ”这一行,将行首的“#”去掉。
2)修改 /etc/login.defs 文件,在最后一行增加“SU_WHEEL_ONLY yes”语句。然后,用“usermod -G wheel 用户名”将一个用户添加到wheel组中。
然后,用刚刚被添加到wheel组的用户登录,并执行su命令登录为root用户,输入了正确的root密码可以正常的登录为root用户。但是,如果换成一个不属于wheel组的用户时,执行了su命令后,即使输入了正确的root密码,也无法登录为root用户--普通用户登录为root用户的权限被完全剥夺了~(会收到“拒绝权限”的提示)。提高了系统的安全性。
但是之后在使用sudo命令时会提示用户不在sudoers文件中,无法执行。sudo命令可以让你以root身份执行命令,来完成一些我们这个帐号完成不了的任务。
在 /etc/sudoer 文件中修改权限(修改 /etc/sudoer 文件用 visudo 命令):
4) 找到
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
#在下面添加一行,给sudo用户组赋予执行的权限
%sudo ALL=(ALL) ALL
5) usermod -G sudo 用户名
wheel用户组有切换为root的权限,sudo用户组有执行sudo命令的权限,需要时把用户赋予加入这两个组就行了。
关于 /etc/sudoer 文件参考文章 sudo配置文件/etc/sudoers详解及实战用法