Linux身份鑒别机制模块代码分析报告.docVIP

  • 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自行创建的系统

文档评论(0)

1亿VIP精品文档

相关文档