简述PAM模块认证


简述PAM模块认证Pam可插拔的认证模块

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

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

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

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

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

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

PAM服务文件

格式:

Tyepcontrol模块

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.3SSH登录模块为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):accessdeniedforuser`user1’from`192.168.101.103′

从其它的ip登录,拒绝

PAM:pam_open_session():Permissiondenied

如果是只有user1能从192.168.101.180登录

将”-:user1:all“改为“-:all:all

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

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

user1-maxlogins2

“表示hardsoft都一样(关于语法格式,配置文件里有说明)

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

sessionrequiredpam_limits.so

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

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

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

sessionrequiredpam_listfile.soitem=groupsense=allowfile=/etc/grouptestonerr=succeed

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

新建改文件,并添加test

echo”test”>/etc/grouptest

User1test组能登录,user2不在,不能登录

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

vim/etc/securetty

删除tty1

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

root从终端1登录时,如下

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

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

[root@localhostpam.d]#vim/etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/tcsh

/bin/csh

/bin/ksh

将上述的/bin/bash删掉

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

sessionrequiredpam_shells.so

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

相关推荐: xss 表单劫持(from通用明文记录)

大家都知道,在提交form表单时会调用onsubmit方法,既然调用了onsubmit,说明表单免费云主机域名中该填的项肯定都已经填好了,这时,我们通过修改onsubmit方法,便可以获取表单中的信息.xss.js:根据各程序不同,修改表单名称接收端xss.p…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/26 22:08
下一篇 01/26 22:08