标签:匹配 系统资源 管理 perm bug 文件 成功 拒绝 配置文件
为了让用户更合理地使用系统,应用程序或服务(如sshd、login、su、password、ftp等)不可避免地需要对用户进行安全认证,若按照各自的规则去配置非常耗费时间和精力且不能重用。
而PAM提供了统一的API,使应用程序的访问控制变得简单方便。
2.1 流程说明
当某个应用程序或服务需要使用PAM来进行认证时,只要它支持PAM,就可以通过修改其相应的PAM配置文件,加放所需要的认证方式。当重新访问时,PAM就会读取相应的配置文件来提供认证功能。
2.2 PAM配置文件
PAM配置文件可能是/etc/pam.conf,或者是 /etc/pam.d/目录下对应服务名称的文件(本文以此形式进行介绍)。
PAM配置文件是由一系列规则组成,一个规则对应一行。
(1)规则语法
service type control module-path module-arguments
(2)字段说明
service (服务名称)
注:在/etc/pam.d/目录下的配置文件,是不包含service部分的,而文件的名字就是service,且文件名必须是小写。
type(account/auth/password/session)
control(required/requisite/sufficient/optional/include/substack)
module-path(模块路径)
如果以“/”开头,则表示模块的全路径,否则表示相对于/lib/security/或/lib64/security/的相对路径。
[root@iZwz9catu2mrq92b07d1d0Z ~]# ls -l /lib64/security/
total 732
-rwxr-xr-x 1 root root 18552 Mar 22 2017 pam_access.so
-rwxr-xr-x. 1 root root 7504 Dec 8 2011 pam_cap.so
-rwxr-xr-x 1 root root 10272 Mar 22 2017 pam_chroot.so
-rwxr-xr-x 1 root root 27080 Mar 22 2017 pam_console.so
-rwxr-xr-x 1 root root 14432 Mar 22 2017 pam_cracklib.so
-rwxr-xr-x 1 root root 10168 Mar 22 2017 pam_debug.so
-rwxr-xr-x 1 root root 5952 Mar 22 2017 pam_deny.so
...
module-arguments(模块参数)
官方介绍:http://www.linux-pam.org/Linux-PAM-html/sag-module-reference.html
pam_access.so [ debug ] [ nodefgroup ] [ noaudit ] [ accessfile=file ] [ fieldsep=sep ] [ listsep=sep ]
(1)使用介绍
当用户要访问应用程序时,accessfile(默认是/etc/security/access.conf)就会被扫描来检测用户是否具有访问权限并返回结果。
accessfile中的每一行都包括三个域,以冒号隔开,如下所示:
permission:users/groups:origins
(2)参数说明
(3)应用场景
例1:限制用户的SSH登录
[root@iZwz9catu2mrq92b07d1d0Z ~]# cp /etc/pam.d/sshd /etc/pam.d/sshd_backup
//修改SSH对应的PAM配置文件,新增pam_access模块认证
[root@iZwz9catu2mrq92b07d1d0Z ~]# vi /etc/pam.d/sshd
#%PAM-1.0
account requisite pam_access.so nodefgroup accessfile=/etc/mypam/access_ssh.conf fieldsep=| listsep=,
[root@iZwz9catu2mrq92b07d1d0Z ~]# mkdir /etc/mypam
//编辑accessfile(注:匹配的顺序从第一行开始)
[root@iZwz9catu2mrq92b07d1d0Z ~]# vi /etc/mypam/access_ssh.conf
#允许root和组mygroup1的成员登录
+|root (mygroup1)|ALL
#拒绝root和组mygroup1的成员以外的用户登录
-|ALL EXCEPT root (mygroup1)|ALL
#拒绝指定用户从非指定的ip进行登录
-|cjh|ALL EXCEPT 120.231.146.242
http://www.linux-pam.org/Linux-PAM-html/sag-pam_nologin.html
http://www.linux-pam.org/Linux-PAM-html/sag-pam_tally2.html
标签:匹配 系统资源 管理 perm bug 文件 成功 拒绝 配置文件
原文地址:http://www.cnblogs.com/cjh-notes/p/7905472.html