linux系統為了限制權限,有時候需要禁止普通用戶su到root用戶
為禁止普通用戶su至root,需要分別修改/etc/pam.d/su和/etc/login.defs兩個配置文件。
一、實驗環境
[root@t2 pam.d]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@t2 pam.d]# uname -a Linux t2 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
其他的環境自行測試
二、詳細配置
(1)去除/etc/pam.d/su文件中如下行的注釋:
#auth required pam_wheel.so use_uid
(2)在/etc/login.defs文件中加入如下配置項:
SU_WHEEL_ONLY yes
經過上述配置后,普通用戶將被禁止su至root,如果希望指定普通用戶su至root,可以執行如下命令將該用戶添加至wheel組中:
usermod -G wheel username
或者
gpasswd -a username wheel
三、示例
[root@t1 ~]# id a1 uid=1001(a1) gid=1001(a1) groups=1001(a1),10(wheel) [root@t1 ~]# id a2 uid=1002(a2) gid=1002(a2) groups=1002(a2)
驗證
[a1@t1 ~]$ su - root Password: Last login: Fri Apr 19 16:40:23 CST 2019 from 10.0.0.1 on pts/2 [root@t1 ~]# [a2@t1 ~]$ [a2@t1 ~]$ su - root Password: su: Permission denied
2019-07-02修改
以上方法可以實現我們的目的,還有一種方法,也可以實現,諸公如果有時間可以多研究一下linux系統的pam認證
方法二:
修改 /etc/pam.d/su文件中如下行:
vim /etc/pam.d/su #auth required pam_wheel.so use_uid auth required /lib64/security/pam_wheel.so use_uid group=wheel
#路徑不加也是可以的,因為我的環境是x86架構的
auth required pam_wheel.so use_uid group=wheel
各位自行驗證即可