千家信息网

简述PAM模块认证

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,简述PAM模块认证Pam可插拔的认证模块接口文件在/etc/pam.d/目录下调用的模块文件 /lib/security目录下模块的配置文件/etc/security/目录下日志信息存放在/var/l
千家信息网最后更新 2026年11月01日简述PAM模块认证

简述PAM模块认证

Pam可插拔的认证模块

接口文件在/etc/pam.d/目录下

调用的模块文件 /lib/security目录下

模块的配置文件/etc/security/目录下

日志信息存放在/var/log/secrue

网络中的很多用户需要对我们的服务器进行远程管理、FTP登录等等,服务器需要对用户进行认证

通过PAM调用与之服务相对应的接口文件进行模块认证。

PAM服务文件

格式:

Tyep control 模块

Type 有这几类

auth 验证是否有这个账号

account 账号是否过期

password 改变口令的时候对密码的长短、是否是字典里的进行验证

session 回话控制

control :

required 必须通过,

如果没有通过 ,彻底否定 ,而且还要看后续模块

如果通过 ,且还要看后续模块

requisite 必须通过,

如果没有通过 ,彻底否定 ,而且不看后续模块

如果通过 ,且还要看后续模块

sufficient 如果没有通过 ,不否定 ,而且看后续模块

只要有一个通过 通过

optional

Include (共同调用的接口文件,包含很多模块)

常用的PAM模块

pam_access.so 控制访问者地址与账号名称

pam_lisffile.so 控制访问者的账号名称或登录位置

pam_limits.so 控制位用户分配的资源

pam_rootok.so 对管理员无条件允许通过

pam_userdb.so 设定独立用户账号数据库认证

等等

下面通过几个小例子说明一下

1、不允许普通用户登录服务器

打开sshd的接口文件 /etc/pam.d/login 如下,调用了pam_nologin.so模块,且是必须验证的

查看关于pam_nologin.so模块的说明文档知道,在/etc/目录下新建一个nologin文件就可以了

touch /etc/nologin

用user1在通过ssh登录一下试试,登不进去了,如下:

(由于login文件里也调用了该模块,所以在本机上所有用户也登陆不了了)

2、限制用户user1只能从192.168.101.3上SSH登录 模块为pam_access.so

vim /etc/pam.d/sshd --编辑ssh的接口文件sshd如下

和pam_access.so模块有个像对应的配置文件access.conf

vim /etc/security/access.conf 添加如下一行

+ : user1 : 192.168.101.3

- : user1 : all 表示不允许从其它地方ip登录

其中"+"表示授权 "user1" 授权的用户 "192.168.101.3" 表示来源

从192.168.101.3的登录,授权成功

日志如下:

pam_access(sshd:session): access denied for user `user1' from `192.168.101.103'

从其它的ip登录,拒绝

PAM: pam_open_session(): Permission denied

如果是只有user1能从192.168.101.180登录

将"- : user1 : all "改为"- : all : all "

3、限制user1账号本地终端的登录次数为2次 模块pam_limits.so

vim /etc/security/limits.conf 添加如下一句

user1 - maxlogins 2

"-" 表示hard和soft都一样 (关于语法格式,配置文件里有说明)

vim /etc/pam.d/login --编辑login接口文件添加如下:

session required pam_limits.so

用user1登录三次,第三次被拒绝如下:

4、在我的用户中凡是在test组中的用户都能ssh,不是改组的用户不能SSH 模块pam_listfile.so (基于额外的文件)

vim /etc/pam.d/sshd 添加如下:

session required pam_listfile.so item=group sense=allow file=/etc/grouptest onerr=succeed

--额外文件为/etc/grouptest 如果没有这个文件,无限制

新建改文件,并添加test组

echo "test" > /etc/grouptest

User1在test组能登录,user2不在,不能登录

5、只允许root从安全的终端登录即不允许从tty1登录 模块pam_securetty.so

vim /etc/securetty

删除 tty1

默认Login接口文件已经调用了该模块

当root从终端1登录时,如下

6、在本地不允许使用bash shell登录 模块 pam_shells.so

默认是在/etc/shells里列出的都能

[root@localhost pam.d]# vim /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/tcsh

/bin/csh

/bin/ksh

将上述的/bin/bash 删掉

vim /etc/pam.d/login 编辑登录文件来调用该模块 如下

session required pam_shells.so

这个验证时好像有些小问题!!!!!

模块 文件 登录 用户 接口 账号 认证 服务 目录 控制 验证 服务器 终端 配置 名称 日志 格式 访问者 管理 限制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 西安纸贵互联网科技有限公司 中关村互联网科技集团 重生之互联网科技帝国 互联网科技行业发展 与互联网科技公司 上海致骋互联网科技 互联网科技博客 海南购全球互联网科技 科技与互联网哪个更好 湖南一路畅行互联网科技 互联网科技与大数据专业 成都互联网科技公司工作好不好 米聚互联网科技南京有限公司排面 畅思互联网科技 互联网金融科技元年 互联网安防科技感 有人说阿里系是互联网科技企业 2021世界互联网领先科技成果发布 互联网科技机房 广西科技产业互联网是什么 金融科技还是互联网 广西互联网科技公司 苏州大垚互联网科技 宝灵互联网科技有限公司 厦门千工互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 玉溪新华互联网科技好不好 保险科技服务互联网营销体系 美国互联网科技实力 上海京穆互联网科技有限公司
0