《操作系统安全》第八章Linux操作系统用户安全管理策略课件

上传人:文**** 文档编号:240605925 上传时间:2024-04-24 格式:PPT 页数:106 大小:462.15KB
收藏 版权申诉 举报 下载
《操作系统安全》第八章Linux操作系统用户安全管理策略课件_第1页
第1页 / 共106页
《操作系统安全》第八章Linux操作系统用户安全管理策略课件_第2页
第2页 / 共106页
《操作系统安全》第八章Linux操作系统用户安全管理策略课件_第3页
第3页 / 共106页
资源描述:

《《操作系统安全》第八章Linux操作系统用户安全管理策略课件》由会员分享,可在线阅读,更多相关《《操作系统安全》第八章Linux操作系统用户安全管理策略课件(106页珍藏版)》请在装配图网上搜索。

1、第八章第八章 Linux操作系统用户安全管理策略操作系统用户安全管理策略第八章 Linux操作系统用户安全管理策略1第一部分第一部分 教学组织教学组织一、目的要求1.了解Linux操作系统的结构及相关特点。2.了解用户与组的类别及作用。3.熟悉有关用户与组的主要配置文件。4.学习用户与组的常见安全操作。第一部分 教学组织一、目的要求2二、工具器材1.Red Hat Linux 9.1操作系统或者条件(3)。2.操作系统自带命令,John the Ripper密码分析软件。3.工具软件:Daemon Tools Lite虚拟光驱、VMware Workstation 6虚拟机、Red Hat L

2、inux镜像安装文件。二、工具器材3三、学习方式建议1.安装Linux操作系统软件,并熟悉安装和基本操作,增强对不同于Windows系统操作系统的感性认识,了解Linux的系统结构和指令。2.老师课堂讲授Linux操作系统用户安全管理方法,并利用实验室虚拟系统平台,实验课上机实践操作验证。3.学生课后对照所学知识,利用互联网和图书馆资源广泛查找相关资料,按照所使用计算机情况,对其进行巩固练习和深入学习体会,比较不同的操作指令模式,并总结经验。第一部分第一部分 教学组织教学组织三、学习方式建议第一部分 教学组织4第二部分第二部分 教学内容教学内容 Linux是一套可以免费使用和自由传播的、类似于

3、UNIX风格的操作系统。Linux最早是由芬兰人托瓦兹(LinusTorvalds)设计的。作为一个多用户、多任务的网络操作系统,Linux有健全的用户和组管理机制,以方便用户使用。在实际的使用过程中,用户需要依据其用户和组对文件/目录所持有的权限进行操作和使用,因此,用户和组管理的安全是保证Linux系统安全的关键因素。本章将从Linux下的用户和组管理机制出发,主要介绍用户口令的安全性保证机制、用户和组的主要配置文件的安全设置,并介绍与之相关的操作命令。第二部分 教学内容 Linux是一套可58.1 Linux操作系统概述操作系统概述 Linux是一个日益成熟的操作系统,现在已经拥有大量的

4、用户。由于其安全、高效、兼容性好、对硬件要求低、适合构建安全的网络应用,已被越来越多的人了解和使用。对于Linux任何人都可以自由地复制、修改、套装发行、销售,但是不可以在发行时加入任何限制,而且所有源代码必须是公开的,以保证任何人都可以无偿取得所有可执行文件及其源代码。本节将着重介绍Linux的发展历程、Linux的系统组成与特性、主要应用领域等。8.1 Linux操作系统概述 Linux是一6 8.1.1 Linux8.1.1 Linux与与UNIXUNIX 8.1.1.1 Linux8.1.1.1 Linux与与UNIXUNIX的渊源的渊源 要讲1inux的发展历史,不能不提到UNIX和

5、MINIX。Linux的“老大哥”UNIX在经历了近40年的发展和完善后,其性能已经相当可靠、稳定。但UNIX一般运行在昂贵的工作站上,终端用户的个人电脑上不太可能安装它(需要资金购买和升级)。8.1 Linux操作系统概述操作系统概述 8.1.1 Linux与UNIX 8.1 Linux操作7oKen Thompson是AT&T旗下贝尔实验室的工程师,1969年他用汇编语言(Assembler)写出了一组内核程序,同时包括一些内核工具程序,以及一个小的文件系统。该系统就是UNIX的原型Unics(当时尚未有UNIX的名称)。Thompson 的这个文件系统有两个重要的概念,分别是:n所有的程

6、序或系统装置都是文件。n不管建构编辑器还是附属文件,所写的程序只有一个目的,要有效的完成目标。Ken Thompson是AT&T旗下贝尔实验室的工程师,18o这些概念在后来对于Linux的发展有相当重要的影响。但是因为Unics本来是以汇编语言写成的,加上当时的计算机机器架构都不太相同,所以每次安装到不同的机器都得要重新编写汇编语言,很不方便!o直到1973年,Ritchie等人以C语言写出第一个正式UNIX内核,UNIX正式诞生,UNIX的早期版本源代码可以免费获得,但是当ATT发布UNIX 7时,开始认识到UNIX的商业价值,于是发布的版本7许可证禁止在大学课程中研究其源代码,以免其商业利

7、益受到损害。8.1 Linux操作系统概述操作系统概述这些概念在后来对于Linux的发展有相当重要的影响。但是因为9o1991年,芬兰赫尔辛基大学生Linus Torvalds(托瓦兹)编写了一个“类似于Minix”的具有简单任务切换机制的操作系统并将它发到了Minix新闻组。o托瓦兹在很多热心支持者的帮助下开发和推出了第一个稳定的Linux工作版本。1991年11月,Linux 0.10版本发布在Internet上免费供人们使用的,1993年底,带有独立宣言意义的Linux l.0终于诞生了。由于Linux源代码公开,大批高水平程序员的加入,使得Linux迅猛发展。8.1 Linux操作系统

8、概述操作系统概述1991年,芬兰赫尔辛基大学生Linus Torvalds(10oLinux从1.3版本之后开始向其它硬件平台上移植,可以囊括从低端到高端的所有应用。现在Linux可以在Intel、DEC的A1pha、Sun Sparc、PowerPC、MIPS等处理器上运行。1995年6月,Linux2.0正式发布,标志着Linux操作系统正式进入了用户化的阶段,它已经能够和TCPIP、WindowsforWorkgroups、NovellNetWare或WindowsNT网络兼容。Linux从1.3版本之后开始向其它硬件平台上移植,可以囊括11oLinux加入自由软件组织(GNU)并遵守公

9、共版权许可证(GPL)。此举完善并提高了Linux的实用性,但是Linux并不排斥在其上开发商业软件,从此Linux又开始了一次飞跃,出现了很多的Linux发行版,如S1ackware、RedHat、SUSE、TurboLinux、OpenLinux等,而且现在还在增加。Linux加入自由软件组织(GNU)并遵守公共版权许可证(G128.1.1 Linux与与UNIX8.1.1.2 Linux与与GNU、GPL、POSIX的关系的关系oGNU(GUNs Not UNIX的意思,无穷循环)是Richard Mathew Stallman(史托曼)在 1984 年发起的。它的目标是创建一套完全自由

10、的操作系统。1992年Linux与其它GNU软件结合,完全自由的操作系统正式诞生。因此,严格地说,Linux应该称为GNU/Linux。目前我们所使用得很多自由软件,几 乎 均 直 接 或 间 接 收 益 于G N U计划。8.1 Linux操作系统概述操作系统概述8.1.1 Linux与UNIX8.1 Linux操作系统概13o为保证GNU软件可以自由地使用、复制、修改和发布,避免GNU所开发的自由软件被其他人所利用而成为专利软件,所有GNU软件必须遵循GNU通用公共许可证(GNU General Public License,简称GPL),并且称呼它为CopyLeft(相对于专利软件的Co

11、pyRight)。为保证GNU软件可以自由地使用、复制、修改和发布,避免GNU14当一个软件挂上了GPL版权声明之后,它自然就成了自由软件,这个软件就具有如下特性:o取得软件与原始码:你可以根据自己的需求来执行这个自由软件;o复制:你可以自由的复制该软件;o修改:你可以将取得的原始码进行程序修改工作,使之适合你的工作;o再发行:你可以将你修改过的程序,再度的自由发行,而不会与原先的撰写者冲突;8.1 Linux操作系统概述操作系统概述当一个软件挂上了GPL版权声明之后,它自然就成了自由软件,这15p回馈:你应该将你修改过的程序代码回馈于社会。p但请特别留意,你所修改的任何一个自由软件都不能这样

12、:p修改授权:你不能将一个 GPL 授权的自由软件,在修改后而将它取消GPL 授权。p单纯贩卖:你不能单纯的贩卖自由软件。回馈:你应该将你修改过的程序代码回馈于社会。16oGPL不会授予许可证接受人无限的权利,GPL的原则是在版权法下,用户不遵守GPL的条款和条件就没有相应权利。再发行权的授予需要许可证接受人开放软件的源代码及所有修改,且复制件、修改版本都必须以GPL为许可证。oPOSIX表示可移植操作系统接口(Portable Operating System Interface,POSIX)。电气和电子工程师协会最初开发POSIX标准,是为了提高UNIX环境下应用程序的可移植性。然而,PO

13、SIX并不局限于UNIX。许多其他的操作系统,例如Mcrosoft Windows NT都支持POSIX标准,POSIX.1已经被国际标准化组织(ISO)接受,命名为ISO/IEC 9945-1:1990标准。8.1 Linux操作系统概述操作系统概述8.1 Linux操作系统概述17oPOSIX现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。而Linux的目标是保持和POSIX的兼容。经过以上说明,我们知道了Linux其实就是一个操作系统最底层的核心及其提供的核心工具,它是GNU授权模式,所以,任何人均可取得源代码与执行这个核心程序,并且可以修改。POSIX现在已经发展成为一

14、个非常庞大的标准族,某些部分正处188.1.2 Linux系统的组成系统的组成 Linux操作系统由内核(Kemel)、外壳(Shell)、文件结构和应用程序四个部分构成,如图8.1所示。硬件平台是Linux操作系统运行的基础,目前Linux可以在几乎所有类型的计算机硬件平台上运行。8.1 Linux操作系统概述操作系统概述应用程序外壳(Shell)硬 件内 核用户图8.1 Linux各主要组成部分关系8.1.2 Linux系统的组成8.1 Linux操作系统概19o1Linux系统的内核系统的内核 内核是系统的心脏,是运行程序和管理硬件设备的核心程序,Linux内核源程序通常都安装在usrs

15、rc/linux下。Linux的内核版本编号如以下的格式:2.6.18-2.el5 注释:主版本.次版本.释出版本-修改版本 Linux内核版本号的格式为“x.yy.zz”,由主要编号x、次要编号y和修正编号z三部分组成,其中x介于0到9之间,而yy,zz则介于0到99之间。通常数字越大说明版本越高。主要编号随内核的重大改动递增;次要编号表示稳定性,偶数编号用于稳定的版次,奇数编号用于新开发的版本,包含新的特性,可能是不稳定的;修正编号表示校正过的版本,一个新开发的内核可能有许多修订版。8.1 Linux操作系统概述操作系统概述1Linux系统的内核8.1 Linux操作系统概述20o2Lin

16、ux系统的外壳系统的外壳 外壳(Shell)程序是系统的用户界面,提供用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,并把执行的结果再转换为用户能理解的格式送到输出设备显示。因此,Shell实际上是一个命令解释程序,在用户和内核之间充当类似“翻译”的角色。Linux提供了像Windows那样的可视命令输入界面:X Window的图形用户界面(GUI)。它提供了很多窗口管理器,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标和键盘控制。Shell也有多种版本。目前主要有:pBourne Shell:是贝尔实验室开发的。pBASH:意为“Bour

17、ne Again Shell”,是GNU操作系统默认的Shell。pKorn Shell:是Bourne Shell的发展,在大部分内容上与Bourne Shell兼容。pC Shell:是Sun公司Shell的BSD版本。8.1 Linux操作系统概述操作系统概述2Linux系统的外壳8.1 Linux操作系统概述213文件结构文件结构 文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。Linux目录采用多级树形结构(如图8.2所示)。用户可以浏览整个系统,可以进入任何一个有访问授权

18、的目录,访问那里的文件。8.1 Linux操作系统概述操作系统概述/binbin/sbin/usr/etc/libbinlocalsrc图8.2 Linux的目录结构3文件结构8.1 Linux操作系统概述/binbin/224Linux系统的应用程序系统的应用程序 内核、Shell和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件以及使用系统。在Linux操作系统平台下还集成了很多的应用程序和软件开发工具,主要可以分为以下几类:o文本处理工具。如;OpenOffice、Gedit、Kivio、Kword、Scribus、Ed、Ex、和Emacs等。oX Window。

19、X Window系统是一种图形用户界面。目前非常流行的GNOME、KDE图形用户界面都是基于X Window。o编程语言和开发工具。如C、C+、FORTRAN、Perl、Java、GCC等。oInternet工具软件。如浏览器软件Netscape和Mozilla,邮件阅读软件Evolution,Internet服务器软件Apache和WU-FTP等。o数据库。在Linux操作系统中能够使用的数据库较多,如Informix、Oracle、DB2、Sybase、MySQL等。8.1 Linux操作系统概述操作系统概述4Linux系统的应用程序8.1 Linux操作系统概述238.1.3 Linux

20、系统的特点和应用系统的特点和应用o1公开源码o2系统安全o3性能突出o4设备独立性o5多用户多任务并发o6良好的可移植性o7安全性强o8丰富的网络功能o9良好的用户界面o 8.1 Linux操作系统概述操作系统概述8.1.3 Linux系统的特点和应用8.1 Linux操作248.1.3 Linux系统的特点和应用系统的特点和应用 由于Linux系统相对比较不耗资源,适合需要小内核程序的嵌入式系统,只要几百KB不到的程序代码就可以完整驱动整个计算机硬件,并成为一个完整的操作系统,因此非常适合于目前家电或者是小电子产品的操作系统,例如手机、数字相机、PDA、家电用品等嵌入式操作系统。从功能来看,

21、Linux不仅可以作为普通的个人桌面操作系统,也可以作为大型网络服务器平台、软件开发平台、科学计算平台(目前已有64位的Linux操作系统)等。这让它与Windows、UNIX一起形成操作系统市场领域中的三足鼎立之势。8.1 Linux操作系统概述操作系统概述8.1.3 Linux系统的特点和应用8.1 Linux操作258.2 保护用户口令策略保护用户口令策略 8.2.1 Linux的用户与用户组概述的用户与用户组概述 管理员的工作中,相当重要得一环就是“管理账号”,因为整个系统都处在你的管理下,所有普通账号甚至管理员账号的申请,都需要通过你的协助才行,所以我们就必须要了解如何才能管理好一个

22、主机的账号。在管理Linux系统的账号时,我们有必要先了解一下Linux到底是如何辨别每一个使用者(账号)的。o用户与用户组标识符:UID与GID Linux是多用户系统,每个用户都有一个账号,在Linux操作系统中,每一个文件和程序都归属于一个特定的“用户”。每一个用户都由一个唯一的身份来标识,这个标识叫做用户标识符(User ID,UID)。并且,系统中的每一个用户也至少需要属于一个“用户组”,这个小组可以包含许多用户。与用户一样,用户组也是由一个唯一的身份来标识,该标识叫做用户组标识符(Group ID,GID)。8.2 保护用户口令策略 8.2.1 Linux的用户与用268.2 保护

23、用户口令策略保护用户口令策略 8.2.2 用户标识符安全用户标识符安全1Linux系统中的用户分类 Linux系统中用户可以分为3种:超级用户、服务(系统)用户和普通用户。其中,超级用户root和服务用户是在安装系统的过程中由安装程序自动创建的特殊用户,具有特殊的作用。(一)超级用户 Linux系统安装过程中,安装程序会引导用户创建超级账号root,用于首次登录系统,该用户相当于Windows操作系统中的Administrator。8.2 保护用户口令策略 8.2.2 用户标识符安全278.2 保护用户口令策略保护用户口令策略 由于root用户没有权利限制(在采用了SELinux安全机制的Li

24、nux系统中,root用户的权限也会受到一定的限制),因此在这个账号下,对系统还不太熟悉的人很容易由于误操作而造成灾难性的后果,甚至使整个系统崩溃。为了避免发生意外,应该注意以下几点。n(1)设置和保密root的口令,不让普通用户用root账号登录,确保只有系统管理员才能用root账号登录。n(2)使用系统时,时刻记住自己的身份,如果命令提示符是“#”,则是超级账号,此时应该对自己的操作保持清醒的头脑。n(3)只有在十分必要的情况下才用超级账号登录系统。8.2 保护用户口令策略 由于root用户没有288.2 保护用户口令策略保护用户口令策略(二)服务用户 这类用户也被叫伪用户或假用户,它们是

25、在安装系统的过程中自动创建的。这些账号不具有登录系统的能力,但却对操作系统的运行有重要的作用。可以在账号文件etcpasswd中看到,服务用户所在行的最后一个字段的值是sbinnologin,表示它们不能用来登录系统。(三)普通用户 这类用户由系统管理员根据需要自行创建添加的,能够用来登录系统,如果用户登录后的命令提示符是“$”,则是普通用户,表示权限有限。其实也可以由root账号创建其它的超级用户,登录后的命令提示符是“#”,它的权限等同root。8.2 保护用户口令策略(二)服务用户298.2 保护用户口令策略保护用户口令策略 2Linux系统中的用户组 通过对用户进行分组,可以更有效地实

26、现对用户权限的管理,类同于Windows中用户与组的关系。不同的用户可以属于不同的组,也可以属于相同的组,也可以是同一个用户同时属于多个不同的组,同组的用户对特定的文件拥有相同的操作权限。如果某个用户属于多个组,那么其权限是几个组权限的累加。和用户的类型相似,相应的也可以把这些组分为3种类型:超级用户组、服务用户组和普通用户组。其中,超级用户组、服务用户组是由系统创建、启动生成的,普通用户组是超级用户根据需要创建的。8.2 保护用户口令策略 2Linux系统中的用户308.2 保护用户口令策略保护用户口令策略 Linux用户如果需要登入系统以取得shell环境(相当于Windows中的用户桌面

27、)来工作时,它需要如何进行呢?系统处理过程如下。1)先寻找/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID(在/etc/group中)读出来,另外,该账号的主目录与shell设定也一并读出;2)再来则是核对密码表,这时系统会进入/etc/shadow里面找出对应的账号与UID,然后计算刚刚输入的密码的散列值,核对是否与里面的密码散列值相符。3)如果一切都成功的话,就进入Shell控管的阶段。8.2 保护用户口令策略 Linux用户如果需要登318.2 保护用户口令策略保护用户口令策略 8.2.3 安全用户口令的设定原则安全用户口令的设定原则

28、 口令是访问控制的简单而有效地方法,只要口令保持机密,非授权用户就无法使用该账号。尽管如此,由于它只是一个字符串,一旦泄露,口令就不能提供任何安全了,因此,用户口令的维护是至关重要的。早期系统的密码就放在/etc/passwd 文件中,但是这个文档是所有用户都能够读取的,为了更好的安全考虑,Linux系统将所有的用户密码加密后都存放在/etc/shadow文件内了。8.2 保护用户口令策略 8.2.3 安全用户口令的设定原328.2 保护用户口令策略保护用户口令策略 8.2.3 安全用户口令的设定原则安全用户口令的设定原则 o1安全口令的选择 口令是进入系统的第一道防线,选择一个有效的口令就等

29、于成功了一半。系统管理员和普通用户可以做一些事情以保证选择了有效地口令。系统管理员能对用户的口令进行强制性的修改,设置口令的长度,甚至防止用户使用太容易猜测的口令。8.2 保护用户口令策略 8.2.3 安全用户口令的设定原33 很多用户喜欢使用一些黑客容易猜测到的拼写短语,如自己的姓名、生日,爱人或者孩子的生日,常用单词等等来设定密码。有效的口令是用户容易记住但“黑客”很难破解的,使用一个8位的随机字符的各种组合大约有31012可能,最先进的计算机也需要几年的时间来穷举,因而是安全的。所以建议用户在设定密码的过程中,尽量使用非字典中出现的组合字符,并且采用数字与字符相结合、大小写相结合的密码设

30、置方式,增加密码被黑客破解的难度。很多用户喜欢使用一些黑客容易猜测到的拼写短348.2 保护用户口令策略保护用户口令策略 安全用户口令的设定原则安全用户口令的设定原则(1)选择长口令,至少为8个字符(Linux要求是6个),口令越长黑客破解的时间成指数增长。(2)混合大小写字母:Linux区分大小写。(3)混合字母和数字及符号:在口令中添加数字和字符,如&、$、和 之类的特殊字符。8.2 保护用户口令策略 安全用户口令的设定原则 35(4)挑选一个自己可以记住,但一般人很难琢磨出来的口令,可以使用简写或其他记忆方法来帮助自己记忆口令。比如“I am a student at 2010”就能用来

31、产生口令“iaasa2010”,用户自己可以轻易记住该口令,但是其他人很难猜到。(5)使用Linux安全程序,如passwd+程序能强制用户使用健壮的口令,npasswd,anlpasswd都是优秀的口令检查程序,可以用来测试口令的安全性。(4)挑选一个自己可以记住,但一般人很难琢磨出来的口令,可以368.2 保护用户口令策略保护用户口令策略 o安全口令的设置禁忌:(1)不要只使用单词或数字,尤其是现成的词汇:像名称、词典中的词汇,甚至电视剧或小说中的用语,这些在破解词典中已经集成了。(2)不要使用自己都记不住的口令,你要么会长时间不使用而遗忘,要么会将它记录在什么地方。(3)千万不要使用个人

32、信息,如果攻击者知道自己的身份,推导出所用口令就会变得非常容易。(4)不要笔录自己的口令:决不要把口令写在纸上或者是电脑上。(5)用户若可以访问多个系统或者多台主机,不要在所有系统和机器上都使用同样的口令。8.2 保护用户口令策略 378.2 保护用户口令策略保护用户口令策略 8.2.4 用户口令加密函数用户口令加密函数 Linux采用的用户口令加密函数如下:char*crypt(const char*key,const char*salt);这个函数现在提供两种算法:MD5和DES。建议使用MD5加密算法,它能够支持更长的口令字符数,而选择DES加密的话,口令长度不能超过8位。8.2 保护用

33、户口令策略 8.2.4 用户口令加密函数 38 关于crypt函数,它有两个参数。第一个参数key是指真正的明文密码,salt参数是用于扰乱用的辅助加密的字串。crypt函数就是根据salt的不同来选择不同的算法。这两种算法有本质的区别:两种方法产生的加密字串不同。MD5的结果是把12个字符放在开始,后跟加密的字串;而DES则把salt的两个字符加在首部,然后加上11个加密后的字串共13个。关于crypt函数,它有两个参数。第一个参数key是指398.2 保护用户口令策略保护用户口令策略 8.2.5 使用密码分析工具验证使用密码分析工具验证 关于密码文件的检查指令,系统自带的有pwck、grp

34、ck、chpasswd 与pwconv等指令。(1)pwck与grpck指令 pwck用来验证用户账号文件(/etc/passwd)和影子文件(/etc/shadow)的一致性,其验证文件中的每一个数据项中每个字段的格式以及数据的正确性。如果发现错误,该命令将会提示用户删除出现错误的数据项。与pwck命令类似,grpck命令是用来验证组账号文件(/etc/group)和组口令文件(/etc/gshadow)的一致性与正确性的。8.2 保护用户口令策略 8.2.5 使用密码分析工具验证408.2 保护用户口令策略保护用户口令策略 8.2.5 使用密码分析工具验证使用密码分析工具验证 (2)其它工

35、具 John the Ripper是一个工具软件,用于在已知密文的情况下尝试破解出明文的破解密码软件。主要支持对DES、MD5两种加密方式的密文进行破解工作。它可以工作于多种机型以及多种操作系统之下。John the Ripper 1.7是目前比较好的破解密码工具,在解密过程中会自动定时存盘,用户可以强迫中断解密过程(使用Ctrl+C组合键),下次还可以从中断的地方继续进行下去(john-restore命令)。任何时候敲击键盘,用户都可以看到整个解密的进行情况,所有已经被破解的密码会被保存在当前目录下的JOHN.POT文件中,shadow文件中所有密文相同的用户会被归成一类,这样JOHN就不会

36、进行无谓的重复劳动了。8.2 保护用户口令策略 8.2.5 使用密码分析工具验证418.2 保护用户口令策略保护用户口令策略 用户可以从网上下载其最新版本john-1.7.3 for Linux版本,它包含DOC、SRC和RUN三个目录,在机器上执行以下命令即可:rootlocalhost hngz tar-xjvf john-1.7.3.4.tar.bz2 rootlocalhost hngz tar-xjvf john-1.7.3.4.tar.bz2 rootlocalhost hngz cd john-1.7.3.4 rootlocalhost hngz cd john-1.7.3.4

37、rootlocalhost john-1.7.3.4 ls rootlocalhost john-1.7.3.4 ls doc README run src doc README run src rootlocalhost john-1.7.3.4 cd src/rootlocalhost john-1.7.3.4 cd src/rootlocalhost src make rootlocalhost src make rootlocalhost src make generic rootlocalhost src make generic8.2 保护用户口令策略 用户可428.2 保护用户口

38、令策略保护用户口令策略 安装好后,用户可以灵活使用以下几种方式来对自己的账户密码进行测试:(1)简单解密方式。(2)字典解密方式。(3)其它方法。8.2 保护用户口令策略 438.3 账号与组安全管理策略账号与组安全管理策略8.3.1 用户与用户组账号文件用户与用户组账号文件 Linux系统中每个用户都有一个账号文件,包括用户名、口令、用户标识号、组标识号以及主目录等信息,Linux把全部的用户信息保存为普通的文本文件,用户可以通过对这些文件进行修改来管理用户和组。本节将对这些文件的内容进行详细介绍。8.3 账号与组安全管理策略8.3.1 用户与用户组账号448.3 账号与组安全管理策略账号与

39、组安全管理策略8.3.1.1 用户账号文件用户账号文件passwd passwd是一个文本文件,用于记录Linux系统中的所有用户账号,该文件位于“etc”目录下。/etc/passwd文件是Linux安全的关键文件之一,该文件在用户登录时校验用户的登录名、加密的口令数据项、用户ID(UID)、用户组ID(GID)、用户信息、用户登录主目录以及登录后使用的shell。这个文件的构造是这样的:每一行都代表一个账号,有几行就代表有几个账号在你的系统中,每个账号资料由7个字段组成,不同数据域采用冒号“:”分隔。8.3 账号与组安全管理策略45如下所示:logname:password:uid:gid

40、:userinfo:home:shell 头两项是登录名和加密后的口令,后面的两个数是用户标识号UID和组标识号GID,第五项是系统管理员写入的有关该用户的详细描述信息,第六项是路径名:分配给该用户的主目录,最后一项是用户登录后将执行的shell(若为空格则默认为/bin/sh)。如下所示:468.3 账号与组安全管理策略账号与组安全管理策略 下面的例子显示的是执行head命令看到的部分内容。root localhost hngz#head -5 /etc/passwd root localhost hngz#head -5 /etc/passwd /查看查看 passwd passwd 的前

41、的前5 5行内容行内容 root:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x

42、:4:7:lp:/var/spool/lpd:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 8.3 账号与组安全管理策略478.3 账号与组安全管理策略账号与组安全管理策略o1.用户登录名:root。即账号名称,就是在“login”后输入的名称,它在同一系统中应该是唯一的,其长度一般不超过8个字符。o2.加密的口令:x。所有用户的口令存放都是加密的,这个字段的密码移动到/etc/shadow中(该文件只对root用户可读),所以你只会看到一个“x”。o3.UID:0。即用户标识号,当UID为0的时候,就是 root。在Linux系

43、统内部处理用户的访问权限时,系统用的是UID值,当UID相同时,即使登录名不同,在系统看来也代表它们对系统资源所拥有的权限完全一样。此外Linux中的UID分类需要我们了解一下:8.3 账号与组安全管理策略48表8-1 UID说明表8-1 UID说明498.3 账号与组安全管理策略账号与组安全管理策略o4.GID:0。记录的是用户所在组的组标识号,是从032767之间的整数。o5.用户信息:root。可选的,通常用于保存用户的相关信息。o6.用户的主目录:/root。这个域用来指定用户的主目录,每一个用户都需要有地方保存专属于自己的配置文件,以免改变其他用户定制的操作环境。o7.Shell:/

44、bin/bash。当用户登入系统后就会取得一个Shell,它属于用户自己的操作环境,用户遇到的第一个程序就叫做shell。8.3 账号与组安全管理策略508.3 账号与组安全管理策略账号与组安全管理策略8.3.1.2 用户组账号文件用户组账号文件group group文件位于etc下,用于存放用户的组账号信息,该文件的内容任何用户都可以读取。/etc/passwd文件中包含着每个用户默认的GID。下面显示的是该文件的部分内容。root localhost hngz#head -5 /etc/group /root localhost hngz#head -5 /etc/group /显示显示g

45、roupgroup的前的前5 5行行内容内容root:x:0:rootroot:x:0:rootbin:x:1:root,bin,daemonbin:x:1:root,bin,daemondaemon:x:2:root,bin,daemondaemon:x:2:root,bin,daemonsys:x:3:root,bin,admsys:x:3:root,bin,admadm:x:4:root,adm,daemonadm:x:4:root,adm,daemon8.3 账号与组安全管理策略518.3 账号与组安全管理策略账号与组安全管理策略 /etc/group文件含有各用户组的信息,用户组就像

46、用户一样可以有口令,如果/etc/group文件入口项的第二个字段为非空(通常用x表示),则将被认为是加密口令。/etc/group文件中的每一行定义了一个组的信息,各字段用“:”分开,每个用户组的信息由4个字段组成,如表8-2所示:8-2 group文件各字段说明8.3 账号与组安全管理策略 /etc/grou528.3 账号与组安全管理策略账号与组安全管理策略 adm:x:4:root,adm,daemon adm:x:4:root,adm,daemon 以上面举例的最后一行为例,它说明在系统中存在一个名为adm的用户组,它的信息如下:1用户组名称为adm。2用户组口令已经加密,用“x”表

47、示。3GID为4。4同组的成员用户有:root,adm,daemon。8.3 账号与组安全管理策略538.3 账号与组安全管理策略账号与组安全管理策略8.3.2 用户与用户组影子文件用户与用户组影子文件8.3.2.1 用户影子文件用户影子文件shadow/etc/shadow文件的每行是用冒号“:”分割成的9个字段,格式如下:username:passwd:lastchg:min:max:warn:inactive:expire:flag下面显示的是使用“cat”指令查看到该文件的内容。rootlocalhost hngz#cat/etc/shadow /rootlocalhost hngz#

48、cat/etc/shadow /使用使用catcat命令显示影子文件命令显示影子文件root:$1$qp4qXJEp$cmK/osAEoBk2TfizWldT7.:15073:0:99999:7:root:$1$qp4qXJEp$cmK/osAEoBk2TfizWldT7.:15073:0:99999:7:bin:*:15073:0:99999:7:bin:*:15073:0:99999:7:daemon:*:15073:0:99999:7:daemon:*:15073:0:99999:7:adm:*:15073:0:99999:7:adm:*:15073:0:99999:7:hngz:$1$

49、V3Sm2eUa$SzvZRQUXDTq2OW1rvDlTh1:15073:0:9999hngz:$1$V3Sm2eUa$SzvZRQUXDTq2OW1rvDlTh1:15073:0:99999:7:9:7:8.3 账号与组安全管理策略548.3 账号与组安全管理策略账号与组安全管理策略 在shadow文件中,每行定义了一个用户信息,第一行从左往右每个字段的含义如下。o1.用户登录名:root。由于密码也需要跟随账号,要与/etc/passwd中相同才行。o2.加密口令:这个字段内的数据才是真正的密码,而且是经过加密的密码,所以只会看到一些特殊符号的字母。o3.口令上次更改时距1970年1月1

50、日的天数:15073。日期的时间是以1970年1月1日作为开始而累加的日期,上述的15073指的就是2011-04-08那一天。o4.两次修改口令之间至少经过的天数:0。这个账号的密码在最近一次被更改后需要经过多少天才可以再被变更。如果是0的话,表示密码随时可以更改的意思。8.3 账号与组安全管理策略 在shadow文件中,55o5.口令还有效的最大天数:99999。这个字段可以指定在最近一次更改密码后,在多少天内需要再次的变更密码才行。而如果像上面的99999,那就表示永不过期。o6.口令失效前警告用户的天数:7。如上面的例子,则是密码过期之前的7 天之内,系统都会警告该用户。o7.禁止登录

51、前用户名还有效的天数(密码失效日):空。过了该期限后用户依旧没有更新密码,该密码就算过期了。要注意密码过期与密码失效并不相同。o8.账号被禁止登入的日期:空。这个日期跟第三个字段一样,都是使用1970年1月1日以来的总天数。o9.保留:最后一个字段是保留的,看以后有没有新功能加入。5.口令还有效的最大天数:99999。这个字段可以指定在最近568.3 账号与组安全管理策略账号与组安全管理策略 由于shadow如此的重要,因此可不能随意修改,但在某些情况下我们还要使用各种方法来处理这个文件。比如“我的密码忘记了”怎么办?(1)普通账号的密码忘记了:这个最容易解决,请系统管理员帮忙,他会重新设定好

52、你的密码而不需要知道你的旧密码,利用root的身份使用passwd指令来处理即可。(2)root密码忘记了:这就比较麻烦,因为你无法使用root的身份登入了,但我们可以重新启动进入单人维护模式后,系统会主动的给予root权限的bash接口,此时再以passwd修改密码即可;或以Live CD开机后挂载根目录去修改/etc/shadow,将里面root的密码字段清空,再重新启动后root将不用密码就可登入,登入后再用passwd指令设定root密码即可。8.3 账号与组安全管理策略 由于shadow如578.3 账号与组安全管理策略账号与组安全管理策略8.3.2.2 组口令文件组口令文件gsha

53、dow 同用户账号文件的作用一样,组口令文件也是为了加强组口令的安全性,而采用的一种将组口令与组的其他信息相分离的安全机制。etc/gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户有权读取。下面显示的是通过命令查看到的该文件的内容。rootlocalhost hngz#head-5/etc/gshadow /rootlocalhost hngz#head-5/etc/gshadow /查看查看gshadowgshadow的前的前5 5 行行内容内容 root:root root:root bin:root,bin,daemon bin:root,bin,daemon

54、 daemon:root,bin,daemon daemon:root,bin,daemon sys:root,bin,adm sys:root,bin,adm adm:root,adm,daemon adm:root,adm,daemon /etc/gshadow文件中每行定义一个用户组信息,行中各字段间用“:”分隔,共4个字段,各字段的含义如表8-3所示。8.3 账号与组安全管理策略8.3.2.2 组口令文件58表8-3 gshadow文件各字段说明表8-3 gshadow文件各字段说明598.3 账号与组安全管理策略账号与组安全管理策略8.3.3 账号与组管理安全账号与组管理安全 前面讲

55、述了在Linux系统中,用户和组管理需要用到的比较重要的几个文件,这些文件包含了用户和组的所有重要信息。下面将介绍如何通过命令行方式来进行用户和组的安全管理操作。8.3.3.1 用户账号的创建和维护用户账号的创建和维护(1)添加用户账号 对Linux系统而言,创建一个账号,系统自动完成以下几个步骤。o1.在etcpasswd、etcgroup、etcshadow和etcgshadow文件中增添了一行记录。o2.在home目录下创建新用户的主目录。o3.将etcskel目录中的文件拷贝到用户的主目录中。8.3 账号与组安全管理策略8.3.3 账号与组管理安全608.3 账号与组安全管理策略账号与

56、组安全管理策略 几乎所有的Linux系统中都提供了useradd或adduser命令,这两个命令能完成以上一系列的工作,通常这两个命令没有区别。useradd命令的常用格式是:useradd 选项 用户名。表8-4列出了useradd命令常用的选 项和作用。8.3 账号与组安全管理策略61表8-4 useradd的主要选项及作用表8-4 useradd的主要选项及作用628.3 账号与组安全管理策略账号与组安全管理策略8.3.3.1 用户账号的创建和维护用户账号的创建和维护 o出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加用

57、户时,还要用passwd命令为每一位新增的用户设置口令。o该命令的一般格式为:passwd 用户名。o其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。8.3 账号与组安全管理策略8.3.3.1 用户账号的创638.3.3.1 用户账号的创建和维护用户账号的创建和维护下面给出使用useradd命令添加用户的例子。rootlocalhost root#finger zhangsanrootlocalhost root#finger zhangsanfinger:zhangsan:no such

58、 user.finger:zhangsan:no such user.rootlocalhost root#useradd zhangsanrootlocalhost root#useradd zhangsanrootlocalhost root#grep zhangsan/etc/passwd/etc/shadow rootlocalhost root#grep zhangsan/etc/passwd/etc/shadow/etc/group/etc/gshadow/etc/group/etc/gshadow/etc/passwd:zhangsan:x:501:501:/home/zhang

59、san:/bin/bash/etc/passwd:zhangsan:x:501:501:/home/zhangsan:/bin/bash/etc/shadow:zhangsan:!:15122:0:99999:7:/etc/shadow:zhangsan:!:15122:0:99999:7:/密码字段中的密码字段中的 !,!,表示账号处于锁定状态表示账号处于锁定状态/etc/group:zhangsan:x:501:/etc/group:zhangsan:x:501:/etc/gshadow:zhangsan:!:/etc/gshadow:zhangsan:!:8.3.3.1 用户账号的创建和

60、维护下面给出使用usera648.3.3.1 用户账号的创建和维护用户账号的创建和维护 使用了上述命令后,新建的用户账号暂时还无法登录,因为还没有为其设置口令,在用passwd口令设置口令后,该账号才能用于登录系统。rootlocalhost root#passwd zhangsanrootlocalhost root#passwd zhangsanChanging password for user zhangsan.Changing password for user zhangsan.New password:New password:BAD PASSWORD:it is too sim

61、plistic/systematicBAD PASSWORD:it is too simplistic/systematicRetype new password:Retype new password:passwd:all authentication tokens updated successfully.passwd:all authentication tokens updated successfully.rootlocalhost root#grep zhangsan/etc/shadowrootlocalhost root#grep zhangsan/etc/shadowzhan

62、gsan:$1$MyXLpEWB$53bnNTZmmh1mBWFLzdUp.:15122:zhangsan:$1$MyXLpEWB$53bnNTZmmh1mBWFLzdUp.:15122:0:99999:7:0:99999:7:8.3.3.1 用户账号的创建和维护 使用了上述命令658.3.3.1 用户账号的创建和维护用户账号的创建和维护o在没有指定用户UID和GID时,命令useradd自动选取,它是将etcpasswd文件中最大的UID值加1,同时将etcgroup文件中的最大的GID值也加1。ouseradd命令使用配置文件etclogindefs和etcdefaulVuseradd来保

63、存创建用户时使用的默认参数。这样,对于大量基本一致的用户数据,可以通过修改该文件来设置正确的默认参数,从而达到减少系统管理员手工输入的目的。8.3.3.1 用户账号的创建和维护在没有指定用户UID和668.3.3.1 用户账号的创建和维护用户账号的创建和维护(2)管理用户账号 使用useradd建立了新账号后,在预设的情况下,该账号是暂时被封锁的,也就是说,该账号无法登入,我们可以看到/etc/shadow内的第二个字段是“!”,表示无密码口令,需要设定新口令就好了,用passwd指令设定口令。passwd命令功能强大,除了设置、修改用户账号的口令外,还有其他的功能。该命令的使用格式是:pas

64、swd 选项 用户名。其中常用的选项及作用如表8-5所示。8.3.3.1 用户账号的创建和维护(2)管理用户账号678.3.3.1 用户账号的创建和维护用户账号的创建和维护表8-5 passwd的常用选项及作用8.3.3.1 用户账号的创建和维护表8-5 passw688.3.3.1 用户账号的创建和维护用户账号的创建和维护范例:给用户“zhangsan2”设置初始密码口令锁定密码查询用户密码状态解除密码锁定状态查看设定每30天需要变更密码,密码过期后7天未使用就宣告密码效删除密码。rootlocalhost root#grep zhangsan2/etc/shadowrootlocalhos

65、t root#grep zhangsan2/etc/shadowzhangsan2:!:15122:zhangsan2:!:15122:rootlocalhost root#passwd zhangsan2rootlocalhost root#passwd zhangsan2Changing password for user zhangsan2.Changing password for user zhangsan2.New password:New password:BAD PASSWORD:it is too simplistic/systematicBAD PASSWORD:it is

66、 too simplistic/systematicRetype new password:Retype new password:passwd:all authentication tokens updated successfully.passwd:all authentication tokens updated successfully.rootlocalhost root#passwd-l zhangsan2rootlocalhost root#passwd-l zhangsan2Locking password for user zhangsan2.Locking password for user zhangsan2.passwd:Successpasswd:Successrootlocalhost root#passwd-S zhangsan2rootlocalhost root#passwd-S zhangsan2Password locked.Password locked.8.3.3.1 用户账号的创建和维护范例:给用户“zhan698.3.3.1 用户账号的创建

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!