1、 毕业设计(论文)题 目: 浅谈 linux 操作系统的安全 浅谈 Linux 操作系统的安全2毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定
2、,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 浅谈 Linux 操作系统的安全3学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:
3、日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日浅谈 Linux 操作系统的安全4注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300 字左右) 、关键词4)外文摘要、关键词 5)目次页(附件不
4、统一编入)6)论文主体部分:引言(或绪论) 、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于 1 万字(不包括图纸、程序清单等) ,文科类论文正文字数不少于 1.2 万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件) 。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用 A4 单面打印,论文
5、50 页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订浅谈 Linux 操作系统的安全5目 录第一章 Linux 操作系统概述 .11.1 Linux 发展历史 .11.1.1 Linux 的诞生和发展 .21.1.2 Linux 名称的由来 .21.2 Linux 的发展要素 .31.2.1 UNIX 操作系统 .31.2.2 Minix 操作系统 .41.2.3 POSIX 标准 .41.3 操作系统类型选择和内核版本的选择 .41.3.1 常见的不同
6、公司发行的 Linux 异同 .51.3.2 内核版本的选择 .91.4 Linux 的系统架构 .101.4.1 Linux 内核的主要模块 .101.4.2 Linux 的文件结构 .121.5 GNU 通用公共许可证 .13第二章 Linux 与其他操作系统的比较 .152.1 Linux 与 UNIX 的异同 .152.2 Linux 和 Windows 的区别以及安全性的比较 .162.3 Linux 与其他操作系统的区别 .182.4 Linux 与其他系统的总体比较总结 .1192.5 Linux 与 Windows 根本比较 内核 .212.6 Linux 的特性 .232.7
7、 Linux 与其他操作系统的区别 .25第三章 Linux 的安全性能分析以及增强 .273.1 嵌入式 Linux 的特点 .273.2 嵌入式 Linux 现有安全 机制及 分析 .293.3 嵌入式 Linux 安全缺陷 .313.4 小结 .33结束语 .34参考文献 .37附录 .38浅谈 Linux 操作系统的安全1第一章 Linux 操作系统概述Linux 系统是一个类似 UNIX 的操作系统,Linux 系统是 UNIX 在微机上的完整实现。UNIX 操作系统是 1969 年由 Ken Thompson 和 Dennis Ritchie 在美国贝尔实验室开发的一种操作系统。由
8、于其良好而稳定的性能迅速在计算机中得到广泛的应用,在随后几十年中也有了不断的改进。 本章对 Linux 的发展进行介绍,主要包括如下内容:(1)Linux 发展的历史,以时间为主线对 Linux 的诞生进行介绍;(2)分析 Linux 和 UNIX 操作系统的异同;(3)介绍常用的几种 Linux 发行版本的特点;(4)对 Linux 操作系统的系统架构进行简单的介绍;(5)介绍 GNU 通用公共许可证及其特点。1.1 Linux 发展历史1991 年 10 月 5 日,赫 尔 辛 基大学的一名研究生 Linus Benedict Torvalds(李纳斯托沃兹 )在一个 Usenet 新闻组
9、(comp.os.minix)中宣布他编制出了一种类似 UNIX 的小操作系统,叫 Linux。新的操作系统是受到另一个 UNIX 的小操作系统Minix 的启发,该系统是由一名叫 Andrew S Tanenbaum 的教师开发的。读者也许猜想所发布的这个系统应该是 Linux 的 0.01 版本,实际上不是这样。真正的 Linux 0.01 版本并没有被发布,原因是 0.01 版本不实用。Linus 仅仅在第一个 Linux 的 FTP 站点(ftp:/nic.funet.fi)上提供过这个版本的的源代码。Torvalds 于 10 月 5 日发布的这个 Linux 版本被称为 0.02
10、版,它能够运行 GNU (通用公共许可证) Bourne Again Shell(bash)和 GNU 的 C 编译程序(gcc)以及为数不多的其它语言。Torvalds 绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的 Linux。李纳斯托沃兹因此浅谈 Linux 操作系统的安全2被称为开源之父;Linux 发布时的版本是 0.02,后来又有 0.03 版,然后又跳到 0.10 版。因为世界各地越来越多的程序员都开始开发 Linux,它已经达到 0.95 版。这就意味着正式公布 1.0 版本的时间已经为期不远了。正式的 1.0 版本是在 1994 年
11、公布的 1.1.1 Linux 的诞生和发展Linux 和 UNIX 有密切的联系。UNIX 能成为世界范围内最有影响的操作系统之一,是由于它有庞大的支持基础和发行系统。当初 UNIX 是作为小型机和大型机上的多任务操作系统而开发的,很快就发展成为广泛使用的操作系统。从个人计算机到超级计算机系统,都有各种 UNIX 版本。但这些版本都很昂贵,而且源代码是有专利的,所以很难在计算机爱好者中广泛使用。然而,UNIX 又正是他们所想要的操作系统。于是,出现了一支由编程高手、业余计算机玩家、黑客们组成的“高手集团军” ,他们独立地开发出在功能上毫不逊色于 UNIX 操作系统的全新的、免费的 Linux
12、 系统。Linux 系统是由芬兰赫尔辛基大学的 Linux Torvalds 先生于 1991 年开始开发的,Linux 系统的开发得到了全世界的 UNIX 程序员和爱好者的帮助。他们借助Internet 参与 Linux 系统的开发。Linux 系统的核心部分是全新的代码,没有使用有专利的代码。在操作系统的发展受到版权限制的时候,出现了 Minix 操作系统,这个操作系统由一本书来详细的描述它的实现原理。由于书中对 Minux 操作系统的描述非常详细、并且很有条理性,当时几乎全世界的计算机爱好者都在看这本书来理解操作系统的原理,其中包括 Linux 系统的创始者 Linus Torvalds
13、。1.1.2 Linux 名称的由来Linux 操作系统刚开始时并没有被称作 Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载浅谈 Linux 操作系统的安全3到 ftp,funet。fi 服务器上时,管理员 Ari Lemke 很不喜欢这个名称。他认为既然是Linus 的操作系统就取其谐音 Linux 作为该操作系统的目录吧,于是 Linux 这个名称就开始流传下来。 在 Linus 的自传Just for Fun一书中,Linus 解释说:“坦白地说,我从来没有想到过要用 Linux 这个名称发布这个操作系统,因为这个
14、名字有些太自负了。而我为最终发布版准备的是什么名字呢 Freax。实际上,内核代码中某些早期的 Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有“Freax“这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而 Ari Lemke,他坚持要用自己的方式将内核代码放到 ftp 站点上,并且非常不喜欢 Freax 这个名字。他坚持要用现在这个名字(Linux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,
15、而且以后为这事我总能说服别人,就想我现在做的这样。“- Linus TorvaldsJust for fun . 来自网络1.2 Linux 的发展要素Linux 操作系统是 UNIX 的一种典型的克隆系统。在 Linux 诞生之后,借助于Internet 网络,在全世界计算机爱好者的共同努力下,成为目前世界上使用者最多的一种类似 UNIX 的操作系统。在 Linux 操作系统的诞生、成长和发展过程中,以下5 个方面起到了重要的作用:UNIX 操作系统、Minix 操作系统、GNU 计划、POSIX标准和 Internet 网络。1.2.1 UNIX 操作系统UNIX ,是一个强大的多用户、多
16、任务操作系统,支持多种处理器架构,最早由 Ken Thompson、Dennis Ritchie 和 Douglas McIlroy 于 1969 年在 AT&T 的贝尔实验室开发。经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于浅谈 Linux 操作系统的安全4这种技术的产品大家族。由于 UNIX 具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。 自从 UNIX 操作系统从实验室走出来之后,得到了长足的发展。目前已经成为大型系统的主流操作系统,现在几乎每
17、个主要的计算机厂商都有其自有版本的UNIX。UNIX 是一个功能强大、性能全面的、多用户、多任务的分时操作系统,在从巨型计算机到普通 PC 等多种不同的平台上,都有着十分广泛的应用。通常情况下,比较大型的系统应用,例如银行、电信部门,一般都采用固定机型的 UNIX 解决方案:在电信系统中以 SUN 的 UNIX 系统方案居多,在民航里以HP 的系统方案居多,在银行里以 IBM 的系统方案居多。Linux 是一种 UNIX 的克隆系统,采用了几乎一致的系统 API 接口。特别是网络方面,二者接口的应用程序几乎完全一致。1.2.2 Minix 操作系统Minix 操作系统也是 UNIX 操作系统的
18、一种克隆系统,它由荷兰 Amsterdam 的Vrije 大学著名教授 Andrew S.Tanenbaum 于 1987 年开发完成。Minux 操作系统目的主要用于学生学习操作系统原理时教学使用。在当时 Minix 操作系统在大学中是免费使用的,但是其他用途则需要收费。目前 Minix 操作系统已经全部是免费的,可以从许多 FTP 上下载,目前主要有 1.5 版本和 2.0 版本在使用。由于 Minix 操作系统提供源代码,并且与操作系统相结合,有一本高质量的书籍介绍其实现原理,在当时全世界的大学中形成了学习 Minix 操作系统的风气,Linus 刚开始就是参照此系统在 1991 年开始
19、开发 Linux 的。实际上,Minix 操作系统并不是很优秀,但是这个操作系统提供了 C 语言和汇编语言的源代码。而当时的 UNIX 操作系统源代码除了极少的范围外一直是保密的,Minix 操作系统对程序员来说是一个福音。为了可以让学生在一个学期内能够学完操作系统的课程,AST 保持了 Minix 操作系统的小型化,没有接受世界各界对Minix 扩展的要求,而正是这个原因激发了 Linus 编写 Linux 操作系统。浅谈 Linux 操作系统的安全51.2.3 POSIX 标准POSIX(Portable Operating System Interface for Computing S
20、ystems)是由 IEEE 和ISO/IEC 开发的一组标准。该标准基于现有的 UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植和运行。它是在 20 世纪 80 年代早期一个 UNIX 用户组的工作基础上取得的。该 UNIX 用户组原来试图将 AT&T 的 System V 操作系统和 Berkeley CSRG 的 BSD操作系统的调用接口之间的区别重新调和集成,并于 1984 年制定了 usr/group 标准。1.3 操作系统类型选择和内核版本的选择要在 Linux 环境下进行程序设计,首先要选择合适的 Linux 发行版
21、本和 Linux 的内核,选择一款适合自己的 Linux 操作系统。本节对常用的发行版本和 Linux 内核的选择进行了介绍,并简要讲解了如何定制自己的 Linux 操作系统。1.3.1 常见的不同公司发行的 Linux 异同1DebianDebian 是一个致力于创建一个自由操作系统的合作组织,由 Ian Murdock 于 1993年创建。该组织创建的操作系统为 Debian GNU/Linux,简称为 Debian。这是一个免费的 Linux 系统,拥有许多用户。Debian 的主要特点如下:简单方便的安装过程:可以通过光盘、DOS 系统、软盘、网络来进行安装。数量众多的软件包:Debian 拥有超过 18733 个软件包。软件包的高度集成:Debian 软件包都是由同一个团体所包装,其 deb 格式具有某些超越 rpm 格式的优点,正是这种软件包之间的集成性让 Debian 成为更稳定强健的系统。简单方便的升级程序:由于 Debian 的包装系统升级到新的版本非常轻松,只需