限制一般 user 变成 root

说明文件

  • man pam
  • pinfo pam

在 Linux 下,系统预设大家都可以变成超级使用者-root,玩过 Unix-Like 的人,也都知道 root 的权限之大。

有一天,小弟在一个偶然的机会里,能有机会管理 FreeBSD 系统,结果发现不是每个人都是可以变成 root 的,也就是说,不是每个人都可以使用 su 转换成别人的帐号,如果要可以使用 su 的功能,就必需为 wheel 的群组。

后来想一想,虽然 FreeBSD 有那么一点点的不方便,但相对的,也是增加了一些安全的机制。而 Linux 现在也可以使用这种机制,限制非 wheel 的 group 都无法使用 wheel,然而,这就要使用 pam 的机制来帮我们实现了。现在我们就来看看如何让这种机制在 Linux 中也可以使用!

让系统中的人员中,只有 steven 才能使用 su。

编辑 /etc/pam.d/su,并把 pam_wheel.so 引用进来。

[root@rhel pam.d]# vi /etc/pam.d/su
_____________________________________________________
auth required /lib/security/$ISA/pam_wheel.so use_uid
:____________________________________________________
 

不用重开,什么都不用,立既生效!不信的话,使用 steven 帐号看看是否还有能力变成 root 或其它帐号!

[steven@rhel steven]$ su - test
Password:
su: incorrect password
[steven@rhel steven]$ su -
Password:
su: incorrect password
[steven@rhel steven]$

看到了吧,就算变成一般的 test 或是 root 都无法让你登入。

那么要如何让 steven 可以使用 su 呢?其实只要把 steven 加入 wheel 群组就可以了!

[root@rhel pam.d]# usermod -G wheel steven

Try again!看看 steven 是不可以使用 su 来切换使用者身份!

[steven@rhel steven]$ su -
Password:
[root@rhel root]#

看,这不就过了吗?

虽然这样是有点麻烦,但是确可以让系统多了一些安全机制,其实安全性与方便是成反比的,越方便就越不安全,然而在不同的主机上,端看管理者如何去应用了。

 
Index