【文件句柄】OpenSSH配置UsePAM=no导致ulimit
PAM(Pluggable Authentication Modules)
Sun公司于1995年开发的一种与认证相关的通用框架机制:PAM。
可插入式认证模块,是实现认证工作的一个模块。
因为每个服务都用到不同的认证方式,所以就需要不同的认证库。
认证库有文本文件,MySQL数据库,NIS ,LDAP等,这些库所对应的系统模块位于/lib64/security/目录下的所有库文件(以".so"后缀的文件)。
PAM是关注如何为服务验证用户的API(应用程序接口),通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。
使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式,而无需更改服务程序。
PAM是一种认证框架,自身不做认证。
PAM提供了对所有服务进行认证的中央机制,适用于login ,远程登录(telnet,rlogin,fsh,ftp, 点对点协议(PPP )),su等应用程序中。
系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。
应用程序开发者通过在服务程序中使用PAM API(pam_xxxx( )) 来实现对认证方法的调用。
PAM 服务模块的开发者则利用PAM SPI来编写模块(主要是引出一些函数pam_sm_xxxx( ) 供PAM 接口库调用),将不同的认证机制加入到系统中。
PAM 接口库(libpam )则读取配置文件,将应用程序和相应的PAM 服务模块联系起来 。
![](https://img.haomeiwen.com/i12979420/af67e27c28615b49.png)
![](https://img.haomeiwen.com/i12979420/c8fea194586a9b23.png)
关于升级openssh后ulimit不生效问题的解决方法
https://www.jianshu.com/p/1bfe9db10fb8
Ulimits不生效导致数据库启动失败和相关设置说明
https://www.51cto.com/article/715499.html
PAM认证那些事儿
https://mp.weixin.qq.com/s/P-ZVKN8VEf2PFyLoIEKQ
PAM(Pluggable Authentication Modules)
https://www.cnblogs.com/shenxm/p/8451889.html
Ulimit conflict with PAM and Systemd
https://mydbops.wordpress.com/2017/12/10/ulimit-conflict-with-pam-and-systemd%E2%80%8B%E2%80%8B%E2%80%8B/
pam_limits: Operation not permitted for sshd
https://serverfault.com/questions/697936/pam-limits-operation-not-permitted-for-sshd
CenOS 修改limits.conf open files后不生效的解决办法
https://www.cnblogs.com/liqing1009/p/7805066.html
Linux文件权限配置
https://help.fanruan.com/finereport/doc-view-4093.html
Linux最大打开文件数
https://help.fanruan.com/finereport/doc-view-4086.html