公司所有账号信息由一台 NIS Server 统一管理,但是有几台 NIS Client 只允许某几个用户登录。这里通过PAM机制来实现该需求。
1. 需要配置的文件 (/etc/pam.d/目录下)
(1) sshd # 限制可以ssh到本机的用户
(2) su # 限制可以通过su切换的用户
(3) login # 限制可以通过login登录的用户
(4) gdm # 限制可以通过gnome图形界面登录的用户(考虑vncviewer)
(5) gdm # 限制可以通过kde图形界面登录的用户(考虑vncviewer)
2. 修改上述配置文件
(1) 在system-auth的account后添加
account required pam_listfile.so owerr=fail item=user sence=allow file=/etc/users.allow
(2) 在system-auth的session后添加
session optional pam_mkhomedir.so skel=/etc/skel umask=0077
3. 创建users.allow文件
创建users.allow文件,权限0600。
把root及允许登录的用户名添加到该文件,每行一个。
4.说明
(1) account的位置保证放行 uid < 500 的系统用户
(2) session的位置保证为用户创建家目录时该用户已通过其他验证
(3) 使用pam_listfile.so是出于对维护方便的考虑
(4) 使用pam_succeed_if.so可以限制su的用户名参数的范围