Linux系统pam的服务模块及如何认证

发布时间:2022-01-26 10:58:17 作者:柒染
来源:亿速云 阅读:193

这篇文章跟大家分析一下“Linux系统pam的服务模块及如何认证”。内容详细易懂,对“Linux系统pam的服务模块及如何认证”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux系统pam的服务模块及如何认证”的知识吧。

PAM主要是由一组共享库文件(也就是后缀名为.so文件)和一些配置文件组成的用于系统服务授权的一套东西。

一、常用的pam服务模块

下面是Linux提供的PAM模块列表(只是其中一部分),这其中包含模块文件、模块功能描述和相关配置文件,具体如下:

pam_access 提供logdaemon风格登录控制 /etc/security/access.conf

pam_chroot 提供类似chroot命令的功能

pam_cracklib 对密码的强度进行一定的检查 库文件libcrack和字典文件

/usr/lib/cracklib_dict

pam_deny 总是无条件地使认证失败

pam_env 设置取消环境变量 /etc/security/pam_env.conf

pam_filter 对输入输出流进行过滤 filters

pam_ftp.so 对匿名ftp用户进行认证

pam_group 当用户在指定的终端上请求指定的 /etc/security/group.conf

服务时赋予该用户相应的组权限

pam_issue 在提示用户输入用户名之前显示 /etc/issue

/etc/issue文件的内容

pam_krb4 对用户密码进行Kerberos认证相应的Kerberos库文件

pam_lastlog 在用户登录成功后显示关于 /var/log/lastlog

用户上次登录的信息,并维护

/var/log/lastlog文件。

pam_limits 限制用户会话所能使用的系统资源 /etc/security/limits.conf

pam_listfile 根据指定的某个文件决定是否 例如/etc/ftpusers

允许或禁止提供服务

pam_mail 检查用户的邮箱中是否有新邮件 /var/spool/mail/xxxx

pam_mkhomedir 为用户建立主目录 /etc/skel/

pam_motd 显示/etc/motd文件的内容 /etc/motd

pam_nologin 根据/etc/nologin文件的存在与否 /etc/nologin

来决定用户认证是否成功

pam_permit 总是无条件地使认证成功

pam_pwdb 作为pam_unix_xxxx模块的一个替代。/etc/pwdb.conf

使用Password Database通用接口进行认证。

pam_radius 提供远程身份验证拨入用户服务(RADIUS)的认证

pam_rhosts_auth 利用文件/.rhosts和/etc/hosts.equiv和/.rhosts

/etc/hosts.equiv对用户进行认证。

pam_rootok 检查用户是否为超级用户,如果是超级用户(uid=0)则无条件地通过认证。

pam_securetty 提供标准的Unix securetty检查 /etc/securetty

pam_time 提供基于时间的控制,比如限制 /etc/security/time.conf

用户只能在某个时间段内才能登录

pam_unix 提供标准的Unix认证 /etc/passwd和/etc/shadow

pam_userdb 利用Berkeley DB数据库来检查用户/密码

pam_warn 利用syslog( )记录一条告警信息

pam_wheel 只允许wheel组的用户有超级用户的存取权限

二、pam认证的应用

1、案例1(pam_access.so)

现有一账号user1 只允许192.168.2.1 ssh登录

(1)安装pam

[root@huangzhong ~]# mount /dev/cdrom /media/cdrom/

[root@huangzhong ~]# cd /media/cdrom/Packages/

[root@huangzhong Packages]# ll |grep pam //过滤与pam相关的包

[root@huangzhong Packages]# yum install pam-1.1.1-13.el6.x86_64.rpm

(2)因为限制ssh登录,所以这里要用到sshd模块,因此要编辑/etc/pam.d/

[root@huangzhong ~]# cd /etc/pam.d/

[root@huangzhong pam.d]# vim sshd

Linux系统pam的服务模块及如何认证

(3)编辑access.so模块的配置文件

[root@huangzhong pam.d]# vim /etc/security/access.conf

Linux系统pam的服务模块及如何认证

(4)测试验证

//新建user1用户

[root@huangzhong ~]# useradd user1

[root@huangzhong ~]# passwd user1

Changing password for user user1.

New password:

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

//在本地ssh登录测试结果如下:

Linux系统pam的服务模块及如何认证

//在192.168.2.1上ssh登录,结果如下:

Linux系统pam的服务模块及如何认证

Linux系统pam的服务模块及如何认证

在这里也可以通过查看日志信息,查看登录的结果,所要查看的日志是:

[root@huangzhong ~]# tail -f /var/log/secure

2、案例2(pam_listfile.so)

在对Linux服务器进行管理时,只允许manager组的用户可以管理,是通过ssh管理。

(1) 因为限制ssh登录,所以这里要用到sshd模块,因此要编辑/etc/pam.d/

[root@huangzhong ~]# cd /etc/pam.d/

[root@huangzhong pam.d]# vim sshd

Linux系统pam的服务模块及如何认证

(2) 创建manager组,并编辑一些用户

[root@huangzhong pam.d]# vim /etc/manager

Linux系统pam的服务模块及如何认证

//创建用户user2和user3,并给予口令

Linux系统pam的服务模块及如何认证

(3) 登录测试

使用user1登录测试

Linux系统pam的服务模块及如何认证

使用user2和user3登录测试结果如下:

Linux系统pam的服务模块及如何认证

3、案例3(pam_limts.so)

限制user1,ssh在线的登陆次数为2次

(1) 因为限制ssh登录,所以这里要用到sshd模块,因此要编辑/etc/pam.d/

[root@huangzhong ~]# cd /etc/pam.d/

[root@huangzhong pam.d]# vim sshd

Linux系统pam的服务模块及如何认证

(2) 编辑/etc/security/limits.conf 文件

[root@huangzhong pam.d]# vim /etc/security/limits.conf

Linux系统pam的服务模块及如何认证

(3) 登录测试

使用user1登录3次测试结果如下:

Linux系统pam的服务模块及如何认证

查看日志信息如下:

[root@huangzhong pam.d]# tail -f /var/log/secure

Linux系统pam的服务模块及如何认证

关于Linux系统pam的服务模块及如何认证就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下亿速云网站!

推荐阅读:
  1. pam模块是什么?
  2. 关于nginx_auth_mysql认证模块

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux pam

上一篇:Linux下RabbitMQ常用命令有哪些

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》