Linux系统之pam模块(2)

session

  模块任何时候都返回成功.  
pam_securetty.so   auth   如果用户要以root登录时,则登录的tty必须在/etc/securetty之中.  
pam_listfile.so  

auth

account

password session

  访问应用程的控制开关  
pam_cracklib.so   password  

这个模块可以插入到一个程序的密码栈中,用于检查密码的强度.

 
pam_limits.so   session   定义使用系统资源的上限,root用户也会受此限制,可以通过/etc/security/limits.conf或/etc/security/limits.d/*.conf来设定  

四、实例

1、pam_securetty.so

限制root从tty1,tty2,tty5登录(无实际意义,只是演示pam_securetty的用法)

在/etc/pam.d/login中添加如下一行

auth  required        pam_securetty.so

Linux-PAM

在/etc/pam.d/securetty中将tty1,tty2,tty5注释即可

Linux-PAM

之后使用root用户再次登录,就会出现

Linux-PAM

这么做其实并不是只限制root用户,也可以将其它用户用此方法来限定,当系统安装完成后,使用此方法来增强一下安全性。

2、pam_listfile.so

仅essun用户可以通过ssh远程登录

在/etc/pam.d/sshd文件中添加一条

auth      required    pam_listfile.so item=user sense=allow file=/etc/sshdusers onerr=succeed

Linux-PAM

添加两个用户essun和tom

Linux-PAM

编辑file指定的文件,添加上一个用户essun

#echo "essun" >/etc/sshdusers

使用tom用户登录

Linux-PAM

可以看到提示输入密码,当输入正确的密码后会提示

Linux-PAM

就像输入了错误的密码一样。而在使用essun用户登录则不会出现拒绝登录的提示

Linux-PAM

注:此处如果root也使用ssh远程连接,也会受到pam_listfile.so限制的。

其实pam模块的使用方法套路都差不多

如想了解更多的PAM模块的用法请man modules

温馨提示:

如果发生错误,Linux-PAM 可能会改变系统的安全性。这取决于你自己的选择,你可以选择不安全(开放系统)和绝对安全(拒绝任何访问)。通常,Linux-PAM 在发生错误时,倾向于后者。任何的配置错误都可能导致系统整个或者部分无法访问。

配置 Linux-PAM 时,可能遇到最大的问题可能就是 Linux-PAM 的配置文件/etc/pam.d/*被删除了。如果发生这种事情,你的系统就会被锁住。

有办法可以进行恢复,最好的方法就是用一个备份的镜像来恢复系统,或者登录进单用

户模式然后进行正确的配置。

教你启用Ubuntu Server的SSH多重身份验证 

使用 PAM 集成 OpenLDAP 实现 Linux 统一管理系统用户 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f22b14e282e9691e892a9117ad04c764.html