/sbin/nologin这个shell,无法登录;但是不能登录并不代表账号无法使用系统资源,所谓的无法登录仅仅是指”这个用户无法使用bash或者其他shell登录系统,无法登录主机获取交互的shell”;系统账号都是无法登录的,但是他们都可以进行系统程序的工作;

    顺带提一下,尝试登录nologin账号之后屏幕上会有提示,这个提示可以通过修改/etc/nologin.txt修改;

    PAM(Pluggable Authentication Modbules)插入式验证模块;PAM用于密码的认证;PAM更像是一个API,用户只需要将验证阶段的需求告诉PAM,PAM就能返回用户验证的结果;

    PAM是借助一个与程序相同文件名的配置文件完成认证分析需求的;我们同样以passwd这个命令调用PAM举例:
    1.用户开始执行/usr/bin/passwd,输入密码
    2.passwd调用PAM模块进行验证
    3.PAM模块会到/etc/pam.d/寻找与程序同名的配置文件(在本例中即是passwd)
    4.根据/etc/pam.d/passwd内的设置,引用相关的PAM模块逐步进行验证分析。
    5.将验证结果返回给passwd这个程序;
    6.passwd这个程序会根据PAM返回的结果决定下一个操作(重新输入密码或者通过验证);