- 8
- 0
- 约3.54万字
- 约 42页
- 2016-12-06 发布于重庆
- 举报
Linux身份鑒别机制模块代码分析报告
Linux身份鉴别机制模块代码分析报告
目 录
1 总体描述 4
1.1 概述 4
1.2 涉及到的源码范围说明 4
1.3 技术方案及原理 4
2 详细分析 11
2.1模块功能描述 11
2.2模块内部函数调用关系 11
2.3函数实现机制 12
2.4核心文件分析 18
2.4.1文件一 su.c 18
文件描述 18
主要变量及宏定义 19
结构体定义 20
外部函数 21
内部函数 21
核心代码注释 23
2.4.2文件二 pam_access.c 26
文件描述 26
主要变量及宏定义 26
结构体定义 27
外部函数 28
内部函数 31
核心代码注释 34
3 演示验证方案及结果分析 38
3.1 演示验证方案 38
3.1.1 演示目的 38
3.1.2 演示环境 38
3.1.3 演示过程 39
3.2 演示验证结果 41
4 待解决问题 42
5参考文献 42
总体描述
概述
Linux身份鉴别机制是保护操作系统安全的重要机制之一,是防止恶意用户进入系统的一个重要环节。早期的身份鉴别机制就是传统的UNIX身份鉴别机制,它采用口令加密并与原密码进行对比的方式来对用户身份进行鉴别。但是这种加密方式过于单一,在一个服务中用户的帐号密码泄露会涉及到多个服务的安全性,所以为了增强系统的安全性,出现了许多其他的身份鉴别机制,如指纹认证、USB认证等。但是这样导致了一个问题,为了应用这些认证机制,就需要重新编写并编译应用程序(如系统登陆服务login)。为了解决这个问题,1995年Sun公司的Vipin Samar和 Charlie Lai提出了PAM(Pluggable Authentication Modules)身份鉴别机制,它采用模块化设计和插件功能,使得系统在更改认证机制时不再需要修改应用程序,极大的提高了认证机制的灵活性。本报告对Linux各用户帐号的权限区别进行了分析,对传统UNIX身份鉴别机制的实现过程进行了研究,重点对PAM身份鉴别机制的实现过程进行了研究与分析,最后通过一个具体的PAM策略演示场景实现了身份鉴别机制的执行过程,研究结果也发现Linux身份鉴别机制是在Linux用户态下实现的,并不涉及内核的具体实现。
涉及到的源码范围说明
由于Linux身份鉴别机制是在用户态下实现,本报告涉及的源码包括Linux-PAM-1.1.6、openpam和Linux su命令的实现。具体范围说明如下:
Linux-PAM-1.1.6/moudles/pam_access.c:登录认证模块的实现源码。
Linux-PAM-1.1.6/libpam:PAM所用的头文件。
openpam/lib/pam_acct_mgmt.c:账号管理接口函数实现。
Linux su命令:Linux系统命令源码包。
技术方案及原理
Linux身份鉴别机制就是对请求服务的用户身份进行鉴别,并且赋予相应的权限的过程。本文通过查阅资料,分析Linux系统中对各用户帐号的管理及其权限分配,分析传统的UNIX身份鉴别机制,以su命令的代码实现来进行说明,着重分析PAM身份鉴别机制,并对其代码实现来进行分析说明。
Linux中用户帐号管理
在Linux系统中,系统设置了多个帐号和组来进行管理,每个帐号都具有不同的权限,例如超级用户root就具有最大的权限,对所有的文件具有读写执行的权限,但是普通用户对某些文件只具有读有时甚至连读的权限都没有。Linux操作系统并不是以帐号名称来识别用户的,而是以标识符UID和GID来辨别用户的,这些帐号的信息都存放在/etc/passwd文件当中,该文件中记录的每个帐号信息是以行来表现的,如下所示:
root:x:0:0:root:/root:/bin/bash
每行是以7个字段来描述的,每个字段以冒号来进行分隔,其中对应字段的依次解释如下:
1. 帐号名称:用来对应UID。
2. 密码:所有的用户都有对该文件的访问权限,为了防止密码窃取,就将这个字段的密码数据改放到/etc/shadow中了,所以这里显示的是X。
3. UID:用户标识符,表1-1列出了redhat系统中UID号的限制。
表1-1 UID限制【1】
Id范围 该用户ID特性 0(系统管理员) 当UID为0时,代表这个帐号是“系统管理员”!所以当你要让其他的帐号名称也具有root权限时,将该帐号的UID改为0即可。一个系统上面的系统管理员不见得只有root.不过不建议有多个。 1~499(系统帐号) 保留给系统使用的ID,其实除了0之外,其他的UID权限与特性并没有不一样。默认500以下的数字让给系统作为保留帐号只是一个习惯。1~99:由distributions自行创建的系统
您可能关注的文档
最近下载
- YYT 0471.2-2004 接触性创面敷料试验方法 第2部分 透气膜敷料水蒸气透过率.docx VIP
- XXX油库改扩建工程(建筑专业监理实施细则).doc VIP
- 机械制图三视图学习课件.ppt VIP
- 金融不良资产收购之尽职调查[官方2017年最新版].pdf VIP
- 4.3《小练习(3)》(教学课件)四年级 数学下册 沪教版.pptx VIP
- 贵州省2019年高职(专科)分类招生中职生文化综合考试数学试卷.docx VIP
- 设备验收单范本.doc VIP
- DB3707_T 101-2023 规模化鸭场坦布苏病毒病防控技术规程.docx VIP
- 《会计信息系统应用》教案 第2课 系统明白卡和系统管理.pdf VIP
- 2025公安部大数据中心招聘33人笔试参考题库附答案解析.docx VIP
原创力文档

文档评论(0)