说明:
pam_securetty 限制root在特定的设备上登录,对普通用户无效。
系统环境
[root@centos7 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@centos7 ~]# uname -a Linux centos7.6 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
首先先man一下再说。
[root@station203 security]# man pam_securetty
...........省略..............
pam_securetty的配置文件默认是:/etc/securetty
格式很简单,一行就一个设备号。
编辑/etc/pam.d/login
[root@centos7 ~]# cat /etc/pam.d/login |grep pam_securetty #auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so auth required pam_securetty.so
[root@station203 pam.d]# vim login
auth include system-auth
auth required pam_securetty.so ## 添加下面这两句
auth required pam_unix.so
编辑 /etc/securetty ## 注销掉tty1、tty2、tty3
#tty1
#tty2
#tty3
测试:
root在tty1登陆失败
在tty4登陆成功
用root在远程ssh登陆成功。
在root不能登陆的tty上可以使用普通用户登陆后,在su -切换到root。
编辑/etc/pam.d/sshd
[root@centos7 ~]# cat /etc/pam.d/sshd #%PAM-1.0 auth required pam_securetty.so
测试:使用root在远程登录失败。
上面的pam_securetty也对sshd起作用了。
这种方法在一定程度上可以增加系统的安全性。