分类: LINUX
2009-09-23 17:34:29
首先建立一个群组 nosu (或 nomax 等,请自行命名):
groupadd nosu
此时在 /etc/group 内会出现类似下行的信息 (gid 会因机器而异):
nosu:x:512:
·编辑 /etc/group,把欲禁用 su 的使用者加入 nosu 这个群组,例如把
john 与 qoo 列入禁用的范围:
nosu:x:512:john,qoo
·把 /bin/su 的群组改成 nosu,并移除群组的权限:
chgrp nosu /bin/su
chmod g= /bin/su
·对 /bin/su 执行 ls -l,若权限与群组与下图相同即告完成:
-rws---r-x 1 root nosu 18452 7月 24 2001 /bin/su
效果如下:
[oracle@ha2 oracle]$ su - max
-bash: /bin/su: 权限不够
[oracle@ha2 oracle]$ su -
-bash: /bin/su: 权限不够
[oracle@ha2 oracle]$
修改 /etc/pam.d/su 找到如下一行
#auth required pam_wheel.so use_uid
把 前面的# 去掉,保存
这样只有wheel 组的用户可以使用su命令到root用户或别的用户
根据要求,你只需把能su到别的用户添加到wheel 组即可。例如如下命令,假如用
户为max
usermod -G wheel max
效果如下所示:
[root@max ~]# su - max
[max@max ~]$ su - root
口令:
[root@max ~]# su - oracle
[oracle@max ~]$ su - root
Password:
su: incorrect password
[oracle@max ~]$ su - max
Password:
su: incorrect password
[oracle@max ~]$