访问控制大师,使用pam来支持login的访问控制
作者:宝贝缘缘儿 | 来源:互联网 | 2017-06-26 10:35
文章标题:访问控制大师,使用pam来支持login的访问控制。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
这里我们需要使用pam_access。pam_access是pam中处理用户访问控制的模块,没有使用pam前,linux对用户的所有访问控制都是借助hosts.allow, hosts.deny文件,实现所有服务的访问控制,再加上usertty就是对用户登陆控制(专门是针对login)。但是,随着pam的应用,usertty已经不再使用了,虽然login的man里还会提到。
现在我们看看如何利用pam_access对个别用户进行登陆访问控制(对所有使用login的都有效),首先,我们需要的是访问控制的配置文件,这个文件在/etc/security/access.conf。整个文件的格式都是: 权限:用户(可多个并用空格隔开):源访问点。下面对每个区域简单说明:
权限(permission) 这一位可以是+/-。其中+表示允许访问,-表示禁止访问;
用户(users) 这是指定用户名,用户组名或网络用户组名,指定的是多个要用空格隔开。对于指定网络用户组名时,网络用户组名应指定用户组所在的源访问点并用@和用户组名分开。除此以外,还可以用ALL指定所有的和EXCEPT指定特殊例外的用户。
源访问点(Origins) 这是指定用户域中原访问点。这里可指定用户访问的ttyname,hostname,domainname或ip。其中domainname是指以.开头的主机名,例如,.downsky.net就是指定downsky.net这个域。在这里可以使用ALL和EXCEPT的关键字,也也指定LOCAL。
下面我们看看一些例子,如果你先限制一些用户在某些主机的登陆权限,我们提供登陆服务的主机叫linux,下面我们看看access.conf的配置情况:
1. # access.conf file
2. -:ALL:.foo.com .hacker.org
3. -:ALL EXCEPT root: tty1
4. +:ALL EXCEPT root:192.168.1.
5. +:root user:.downsky.net
6. -:chase:192.168.2.
7. -:ALL:ALL
从以上的配置文件可以看到,第二行拒绝所有从域名.foo.com和.hacker.org的登陆访问;第三行拒绝除root以外的用户从控制台登录访问;第四行允许除root外所有的用户从192.168.1.的网段登录访问。第五行允许root和user用户组中的成员从downsky.net登录访问。第六行拒绝用户chase从192.168.2网段的登录访问,第七行拒绝其它的登录访问...
现在我们只要在/etc/pam.d/login的文件里加上下面一行
account required /lib/security/pam_access.so
就可以使login使用pam_access来对用户进行登陆访问控制了。整个login的文件如下
auth requisite /lib/security/pam_unix.so nullok #set_secrpc
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
#auth required /lib/security/pam_homecheck.so
auth required /lib/security/pam_env.so
auth required /lib/security/pam_mail.so
account required /lib/security/pam_unix.so
account required /lib/security/pam_access.so
password required /lib/security/pam_pwcheck.so nullok
password required /lib/security/pam_unix.so nullok use_first_pass use_authtok
session required /lib/security/pam_unix.so none # debug or trace
session required /lib/security/pam_limits.so
如果被拒绝的用户登陆本主机的话就会出现下面的输出结果
linux login: chase
Password:
Permission denied
Connection closed by foreign host.
我们还可以从/var/log/messages得到pam_access的日志,对应上面的情况我们从message得到如下的日志:
Apr 25 12:50:25 linux pam_access[13916]: access denied for user `chase' from `192.168.2.78'
Apr 25 12:50:25 linux login[13916]: Permission denied
推荐阅读
-
byfanxiushu2022-10-17转载或引用请注明原始作者。xFsRedir软件其中之一的功能就是实现了全方位的网络代理,从主机代理,到本地代理 ...
[详细]
蜡笔小新 2023-10-15 18:03:15
-
定义#definePCAP_OPENFLAG_PROMISCUOUS1 定义适配器是否必须进入混杂模式。#definePCAP_OPENFLAG_DATATX_UDP2 ...
[详细]
蜡笔小新 2023-10-16 17:20:39
-
-
后台自动化测试与持续部署实践https:mp.weixin.qq.comslqwGUCKZM0AvEw_xh-7BDA后台自动化测试与持续部署实践原创 腾讯程序员 腾讯技术工程 2 ...
[详细]
蜡笔小新 2023-10-17 13:30:06
-
项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现。直接上代码usingQiniu.IO;usingQiniu.IO.Resumable;usingQiniu.RPC; ...
[详细]
蜡笔小新 2023-10-17 12:22:06
-
前言对应阿里巴巴开发手册第一章的命名风格的第八条。【强制】POJO类中布尔类型的变量都不要加is前缀,否则部分框架解析会引起序列化错误。反例:定义为基本 ...
[详细]
蜡笔小新 2023-10-17 12:21:15
-
Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ...
[详细]
蜡笔小新 2023-10-17 11:27:29
-
1、概述:NFS(NetworkFileSystem)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享 ...
[详细]
蜡笔小新 2023-10-17 01:55:01
-
SOA架构理解理解SOA架构,了解ESB概念,明白SOA与微服务的区别和联系,了解SOA与热门技术的结合与应用。1、面向服务的架构SOASOA(ServiceOrien ...
[详细]
蜡笔小新 2023-10-16 15:25:09
-
本文由编程笔记#小编为大家整理,主要介绍了局域网内互发提示信息相关的知识,希望对你有一定的参考价值。【局域网内互发提示信息】准备工作:1.rege ...
[详细]
蜡笔小新 2023-10-15 22:13:24
-
原文链接:https:cloud.tencent.comdevelopernews1362051背景介绍1.1幂等性定义数学定义在数学里,幂等有 ...
[详细]
蜡笔小新 2023-10-15 14:24:29
-
一,简单一点的过程解说图(不太清晰,凑合看吧)Gitee仓库源码:https:gitee.comfanjiangfengwrite-rpc-framworkcommon模块创建商品 ...
[详细]
蜡笔小新 2023-10-15 13:04:56
-
前言大厂面试真题向来都是各大求职者的最佳练兵场,而今天小编带来的便是“HUAWEI”面经!这是一次真实的面试经历,虽然不是我自己亲身经历 ...
[详细]
蜡笔小新 2023-10-15 11:38:31
-
本文为转载,原连接:https:www.zhihu.comquestion40822826简单说一下吧做要解释这些要从netconf说起。netconf ...
[详细]
蜡笔小新 2023-10-14 19:16:18
-
在基于springboot开发项目中,使用dubbo的RPC框架进行业务拆分,出 ...
[详细]
蜡笔小新 2023-10-14 18:05:31
-
参考链接:https:www.cnblogs.comlaowangcp8961946.html一、MapReduce流程1.1Mapreduce整体流程: ...
[详细]
蜡笔小新 2023-10-14 17:48:33
-