PAM
插入式验证模块 (PAM, Pluggable Authentication Module) 是 Linux 系统级用户认证框架。
/etc/pam.d/
目录专门用于存放 PAM 配置。不同的安装包的配置文件都被放在该目录,在运行时被不同的应用程序加载。
/etc/security
包含了对认证方法参数的系统级配置。
passwd、SSH、FTP 等程序都会用到 PAM。
PAM 模块
- pam_unix.so
- pam_wheel.so 限制用户登录
- pam_tally.so 限制登录
- pam_env.so 设置环境变量
- pam_access.so 控制访问者地址与账号名称
- pam_listfile.so 控制访问者的账号名称或登录位置
- pam_limits.so 控制为用户分配的资源,详见 /etc/security/limits.conf
- pam_rootok.so 对管理员(uid=0)无条件允许通过
- pam_userdb.so 设定独立用户账号数据库认证
- pam_securetty.so 限制系统管理员 root 只能从安全的终端机登录。(/etc/security 文件中配置)
- pam_nologin.so 限制普通用户是否能够登录主机。当 /etc/nologin 文件存在时, 所有普通用户均无法登录系统,且打印出 /etc/nologin 的内容。对 root 用户以及已经登录的一般账号没有影响。
- pam_selinux.so 将 SELinux 暂时关闭,等到验证通过后,再予以启动
- pam_console.so 用户可以通过特殊终端接口 (console) 登录系统。
- pam_loginuid.so
- pam_pwquality.so 检验密码强度,密码多次失败就锁定等功能