linux PAM

1. 特殊的/sbin/nologin

假如我们在创建用户的时候给用户分配了 /sbin/nologin shell, 那么这个用户就无法通过shell命令登录系统.

可以通过编辑/etc/nologin.txt 来显示无法登陆系统后的提示信息.

2. PAM模块

PAM是插入式验证模块,主要用于统一验证方式,可以提供给不同程序相同的验证,也可以根据需求加载不同的验证模块.

3. 示例

执行 cat /etc/pam.d/login 后 我们可以看到linux登录的PAM的设置

三列分别代表   验证类别,控制标准,PAM模块与参数.

验证类别主要有: 

auth  检验用户身份

account  大部分用于授权,检验用户是否具有正确的权限

session  管理用户本次登录期间,PAM所给予的环境设置.

password 修改密码

控制标准主要有:

required  成功返回success,失败 failure,不终止流程.

requisite 成功返回success,并继续后续的验证流程.

sufficient 成功返回success给原程序,并终止后续验证流程.

optional  用于显示信息,不用于验证.

继续看上面login的PAM配置,有个 pam_nologin.so,如果 /sbin/nologin存在,则不允许登录,所以/sbin/nologin;

常用模块可以百度,有点多,就不总结了.

登录还有个pam_securetty.so模块,主要显示root从安全的终端登录,安全的终端名称可以在/etc/securetty中修改.

telnet远程连接属于pts/n的终端接口设备名称,没有记录在/etc/securetty中,所以无法登陆,但是ssh没有/etc/pam.d/sshd模块,所以可以登录.

原文地址:https://www.cnblogs.com/lishuaiqi/p/15758703.html