linux中文名Linux PAM 1 1 0 系统管理员指南
中文
从第二篇开始,就是逐个介绍PAM各个模块的特点,功能和使用方法了,一共有41个模块,比较多,希望有朝一日能全部翻完.
6模块使用指南
这一章,我们将一块介绍不懂Linux-PAM模块的用法。
6.1 pam_access-日志监控风格的访问控制
pam_access.so[debug][nodefgroup][noaudit][accessfile=file][fields ep=sep][listsep=sep]
6.1.1综述
pam_access模块主要功能是访问管理,提供日志监控风格的访问控制。这种访问控制是基于登录名称,主机明或域名,网络地址或网络号的,在不是网络登录的情况下,基于终端线名称进行访问控制。
这个模块时有一个配置文件/etc/f,该模块的行为可以使用该文件进行修正和改动。你
也可以指定其他文件作为配置文件。
6.1.2描述
在/etc/f中,拒绝或接受一个用户的登录是有(user/group,host),(user/group,network/netmask)或(user/group,tty)这三种组合决定的。
当某个用户登录时,模块就会扫描f文件,查看申请登录的用户是否与组合(user/group,host)或(user/group,network/netmask)一致,如果不是通过网络登录,则检查是否与(user/group,tty)组合一致。
这个访问控制表的每一行都包括三个域部分,中间用冒号分隔:
permission:users/groups:origins
第一域部分,permission,其实就是两个字符,"+"表示允许,"-"表示拒绝。
第二域部分,users/groups,可以在这里列出一个或多个用户名/组名,或者直接使用ALL(代表所有用户和组)。为了区分用户名和组名,组名外面都要加上括号,例如:(group)。在这一部分你还可以使用这种格式
"@netgroupname",来表是一个网络组。
第三域部分,origins,可以在这里列出一种或多种登录方式,如:tty name(本地登录),主机名,域名(以"."开头),网络号(以"."结尾),带掩码的网络地址(掩码可以是十进制的数字,也可以是IP地址形式),ALL(代表所有登录方式)或者LOCAL.LOCAL。
另外,在users/groups或origins中你还可以使用EXCEPT,来定义更严谨,更适用的规则。
如果没有设置nodefgroup参数(/etc/pam.d/*中),那么当一个用户名与允许登录用户不匹配时,PAM会去检查组文件。
If the nodefgroup is not set,the group file is searched when aname does not match that of the logged-in user.On ly groups are matched in which users are explicitly listed.However the PAM module does not look at the primary group id of auser.
以"#"开头的行都是注释。
6.1.3选项
accessfile=/path/f
设置配置文件路径,如果没有该参数,默认路径是
/etc/f。
debug
会有更多的调试信息被syslog记录下来。
noaudit
当有用户从未被允许的主机或终端登录时,事件将不会被报告。
fieldsep=separators
改变配置文件/path/f中用的域分隔符。例如,默认情况下,配置文件的域分隔符是":",如果fieldsep=|,那么pam_access.so将会把配
置文件中的"|"作为域分隔符,而":"只当作是普通的参数字符。
listsep=separators
改变配置文件/path/f中用的列表分隔符。每个域都是一个
列表,例如users/groups域是许多个组名或用户名的列表,如果listsep=',',那么逗号将被用作列表分隔符,而原来的列表分隔符空格则被认作为普通字符。这个功能主要用于含有空格的用户名或组名,如Domain Users","Domain Admins"。
nodefgroup
如果不加该参数,当用户名不匹配时,PAM会把他当做是组名,然后去查
组文件中是否有匹配项。加上该参数后,只有写在括号内的名字才会被认为
是组名,例如:(wheel)
6.1.4模块支持的类型
auth,account,password and session 6.1.5返回值
PAM_SUCCESS
访问被接受
PAM_PERM_DENIED
访问被拒绝
PAM_IGNORE
访问被忽略
PAM_ABORT
没有得到所有应该得到的数据
PAM_USER_UNKNOWN
系统未知用户
6.1.6.文件
/etc/f
默认的配置文件
6.1.
7.例子
下面是配置文件/etc/f的例子。
允许用户root通过cron,X11终端:0,tty1,.,tty5,tty6访问。
+:root:crond:0 tty1 tty2 tty3 tty4 tty5 tty6
允许root用户通过某个具有IPv4地址的主机访问。并不是说该主机只可以有IPv4地址,在IPv4和IPv6地址同时存在于该主机上时,root用户同样可以通过该主机访问。
+:root:192.168.200.1 192.168.200.4 192.168.200.9
+:root:127.0.0.1
允许root用户通过192.168.201.这个网段的所有主机访问。但是更好的规则书写方法是网路地址加网络掩码。192.168.201.可以写成
92.168.201.0/24或192.168.201.0/255.255.255.0
+:root:192.168.201.
允许root用户通过主机和访问
+:root:
允许root用户通过域中的主机访问
+:root:.
拒绝root用户通过任何其他的方式登录
-:root:ALL
用户foo和网络组@admin的成员,将被允许以任何方式访问。该配置只有当netgroup服务使能时才起作用。
+:@admins foo:ALL
用户john和foo只被允许从IPv6地址为2001:db8:0:101:1的主机访问
+:john foo:2001:db8:0:101:1
用户john被允许从2001:db8:0:101:/64这个网段上的主机访问。
User john should get access from IPv6 net/mask.
+:john:2001:db8:0:101:/64
所有的本地控制台登录都被禁止,除了wheel组的成员和shutdown,sync

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。