一:设置普通用户可以使用su
su : 可以在一个登陆 session 下切换不同用户(通常是root).意思就是不需要退出当前用户的登录而切换到新用户.
1、 vi /etc/pam.d/su
第一个框:去掉注释之后,信任的wheel组用户su时候不用密码。
第二个框:去掉注释之后,只有wheel的用户才能su。
注意:以上是仅仅wheel组才可以su,如果改为其他组可以su的话,那么就把 use_uid 改为 group=chen即可(比如 chen组),这样chen组的用户可以su,wheel的用户就不能su了。
2、把用户test1放到chen组中
#usermod -a -G chen test1 (加-a ,意思是把test1添加到chen组中,也在原来的组中)
如果想把用户test1只放到chen组中,从其他组删除,则:
#usermod -G chen test1
二:设置普通用户可以使用sudo
sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.
1 先查看系统是否安装sudo,可以使用命令 rpm -qa sudo 查看,若没有安装,可以使用yum安装 yum -y install sudo
[root@chen ~]# rpm -qa sudo sudo-1.8.19p2-10.el7.x86_64
2 编辑 /etc/sudoers 文件 使用命令 visudo ( 而不是直接使用 vim /etc/sudoers ) , 可以新建一个组, 或者直接使用里面默认的wheel组 ( wheel前面的% 表示wheel是组, 如果没有%则表示wheel是普通用户 ),
[root@chen ~]# cat /etc/sudoers | grep wheel ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL # %wheel ALL=(ALL) NOPASSWD: ALL [root@chen ~]#
3 把用户放到一个可以运行sudo命令的组中, 那么该用户就可以使用sudo了 ( 也可以在新建用户时候直接指定可以使用sudo命令的组中 )
[root@chen ~]# usermod -aG wheel vbox [root@chen ~]# [root@chen ~]# useradd -G wheel test [root@chen ~]# [root@chen ~]# cat /etc/group | grep wheel wheel:x:10:vbox,test [root@chen ~]#
注意: 以上操作中, /etc/sudoers 文件里面这一行 %wheel ALL=(ALL) ALL 意思是 wheel组的成员可以在任何地方运行所有命令, 如果想限制用户或组只能使用特定命令该如何设置呢? 请看下面
举个例子: 如果设置一个test组,组成员可以在所有地方执行 cat useradd userdel usermod 命令,那么添加这一行 %test ALL=/bin/cat, /sbin/useradd, /sbin/userdel, /sbin/usermod , 除了以上4条命令可以使用sudo之外,其他命令都不可以使用sudo
[test@chen ~]$ sudo cat /etc/sudoers | grep test%test ALL=/bin/cat, /sbin/useradd, /sbin/userdel, /sbin/usermod [test@chen ~]$ [test@chen ~]$ sudo ls /etc/sudoers Sorry, user test is not allowed to execute '/bin/ls /etc/sudoers' as root on chen. [test@chen ~]$ [test@chen ~]$ sudo useradd user1 [test@chen ~]$ cat /etc/passwd | grep user1 user1:x:1008:1008::/home/user1:/bin/bash [test@chen ~]$ [test@chen ~]$ sudo groupadd group1 Sorry, user test is not allowed to execute '/sbin/groupadd group1' as root on chen. [test@chen ~]$ [test@chen ~]$ sudo ls /etc/sudoers Sorry, user test is not allowed to execute '/bin/ls /etc/sudoers' as root on chen. [test@chen ~]$ [test@chen ~]$