linux-PAM认证模块  -------Pluggable Authentication Modules--可插拔认证模块

 
#####################################################################
 
服务是否支持pam认证 ----ldd 命令
 
ldd /usr/sbin/sshd 
ldd /usr/sbin/vsftpd  ------------如果输出的内容链接的有pam.so文件,即是支持pam验证,pam.so文件位
 
于 /lib/security/ 目录内
 
 
 
 
################
 
当一个服务(比如vsftpd)需要pam验证时
----------------先在/etc/pam.d/(vsftpd)下面寻找相应的服务文件,在在pam.d的目录对应文件内找对应的
 
conf文件目录
 
----------------一般为 /etc/security/(access.conf),再在access。conf文件内找到对应的pam.so名字,
 
再在/lib/security/(pam_access.so)找到对应的pam.so文件
 
----------------完成验证
 
 
 
 
##################
 
 
# vi /etc/pam.d/login
--------------可以看到里面有一个account    required    pam_nologin.so  
 
pam_nologin.so文件的作用可以在帮助文档里查看  如:
#vi  /usr/share/doc/pam-0.99.6.2/txts/README.pam_nologin 
有文档可以知道:当/etc/nologin 文件存在时候,非root用户无法登陆系统,会把文档内容返
 
回提示。所以我们可以在/etc/nologin创建文件来阻止普通用户登陆,短期维护系统
#touch /etc/nologin 
 
 
 
---------------/etc/pam.d/system-auth -------是一个全局系统认证文件,很多pam.d里的文件都
 
调用到它
 
 
 
 
########################################################
 
修改sshd pam模块登陆实例
pam_access.so控制访问者地址和账号名称
 
#####################
 
 
#vi /etc/pam.d/sshd
 
account   required pam_access.so ----------增加一行
 
#vi /etc/security/access.conf 
- : cent : ALL EXCEPT 10.10.10. ---------- 拒绝 -----cent用户------(从)------除了本
 
地局域网10.10.10.网段以外的其他地方    登陆
 
#ssh cent@10.10.10.100-----------本地登陆可以成功
#ssh cent@127.0.0.1    ----------其他地方登陆,失败,ssh pam 模块成功