简述PAM模块认证-创新互联

简述PAM模块认证

成都创新互联公司是一家业务范围包括IDC托管业务,网络空间、主机租用、主机托管,四川、重庆、广东电信服务器租用,南充服务器托管,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

Pam可插拔的认证模块

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

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

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

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

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

简述PAM模块认证

通过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模块认证

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

touch /etc/nologin

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

简述PAM模块认证

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

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

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

简述PAM模块认证

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

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

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

session    required     pam_limits.so

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

简述PAM模块认证

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

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

简述PAM模块认证

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

vim /etc/securetty

删除 tty1

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

root从终端1登录时,如下

简述PAM模块认证

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

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:简述PAM模块认证-创新互联
标题链接:http://hbruida.cn/article/gieje.html