第1页Linux网络操作系统配置与管理2020年6月1日星期一“十二五”职业教育国家规划教材RedHatEnterpriseLinux7.3(RHEL7.3)Linux网络操作系统配置与管理(第三版)主编:夏笠芹、谢树新项目4用户与文件权限的管理第2页Linux网络操作系统配置与管理2020年6月1日星期一项目4用户与文件权限的管理【职业知识目标】了解:Linux中的用户和组的分类,用户登录Linux系统的过程熟悉:Linux中用户和用户组的配置文件,Linux中文件和目录的权限类型,掌握:用户和用户组的管理方法,文件和目录的权限设置方法【职业能力目标】会添加新用户、用户组并为用户设置密码会设置用户、用户组的属性和删除用户、用户组会向用户组添加和删除组成员会设置文件和目录的一般权限、特殊权限能修改文件和目录的属主和属组会设置新建文件或目录的默认权限第3页Linux网络操作系统配置与管理2020年6月1日星期一Linux操作系统是一个多用户的操作系统,它允许多个用户同时登陆到系统上使用系统资源。系统根据帐户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境(如用户的工作目录、Shell版本以及X-Window环境的配置等),使每个用户的工作都能独立不受干扰地进行。任何一个要使用系统资源的使用者,都必须首先向系统管理员申请一个用户账号,每个用户账号都拥有一个惟一的用户名和相应的口令。用户在登录时只有键入正确的用户名和口令后,才能进入系统。对用户(组)的管理工作主要涉及到用户(组)账号的添加、修改和删除、用户(组)口令的管理以及为用户(组)配置访问系统资源的权限。这些工作是网络管理员日常最基本的工作任务,也是构建系统安全的最基本的保障。4.1项目背景第4页Linux网络操作系统配置与管理2020年6月1日星期一4.2项目知识准备4.2.1Linux中的用户和组的分类Linux下的用户可以分为三类:超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。系统用户(伪用户)——是Linux系统正常工作所必需的内建的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。系统用户不能用来登录.普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。第5页Linux网络操作系统配置与管理2020年6月1日星期一4.2项目知识准备4.2.1Linux中的用户和组的分类Linux中的组有以下三种:基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组,基本组只容纳一个用户。当把其他用户加入到该组中,则基本组就变成了附加组。附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组:一般加入一些系统用户。第6页Linux网络操作系统配置与管理2020年6月1日星期一4.2.2Linux中用户和用户组的配置文件每个用户都有一个UID数值:超级用户的UID——0系统用户的UID——1~999普通用户的UID——≥1000在Linux中,用户账号、密码、用户组信息和用户组密码均是存放在不同的配置文件中的。文件功能文件名称用户账号文件/etc/passwd用户密码文件/etc/shadow用户组账号文件/etc/group用户组密码文件/etc/gshadow第7页Linux网络操作系统配置与管理2020年6月1日星期一1.用户账号文件——/etc/passwdpasswd是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。passwd文件中:每行定义一个用户账号每行由7个字段组成,字段之间用“:”分隔,其格式如下:账号名称:密码:UID:GID:个人资料:主目录:Shell4.2.2Linux中用户和用户组的配置文件第8页Linux网络操作系统配置与管理2020年6月1日星期一字段说明:账号名称:用户登录Linux系统时使用的名称。密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占位符“x”或“*”。若为“x”,说明密码经过了shadow的保护UID:用户的标识,是一个数值,用它来区分不同的用户GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。主目录:类似Windows的个人目录,通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。Shell:定义用户登录后激活的Shell,默认是BashShell4.2.2Linux中用户和用户组的配置文件第9页Linux网络操作系统配置与管理2020年6月1日星期一2.用户密码文件——/etc/shadow每行定义了一个用户信息,行中各字段用“:”隔开,其格式如下:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志4.2.2Linux中用户和用户组的配置文件为提高安全性,用户真实的密码采用MD5加密算法加密后,保存在配置文件中。只有root用户可以读取。第10页Linux网络操作系统配置与管理2020年6月1日星期一/etc/shadow文件中的每行9个字段的含义分别为:字段含义登录名登录名加密口令使用SHA-512/SHA-256/MD5算法加密后的密码,若为空,表示该用户无需密码即可登录,若为“*”表示该账号不能用于登录系统,若为“!!”表示该账号密码已被锁定最后一次修改时间最近一次更改密码的日期,以距离1970年1月1日的天数表示最小时间间隔密码在多少天内不能被修改。默认值为0,表示不限制最大时间间隔密码在多少天后必须被修改。默认值为99999,表示不进行限制警告时间提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告不活动时间密码过期多少天后禁用此用户失效时间密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用标志保留未用,以便以后发展之用4.2.2Linux中用户和用户组的配置文件第11页Linux网络操作系统配置与管理2020年6月1日星期一3.用户组账号文件——/etc/group系统中的每一个文件都有一个用户和一个组的属主。使用“ls–l”命令可以看到每一个文件的属主和组。系统中的每个组,在/etc/group文件中有一行记录任何用户均可以读取用户组账户信息配置文件。用户组的真实密码保存在/etc/gshadow配置文件中。group文件字段说明:字段说明Groupname组的名字Passwd组的加密口令GID是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组Userlist是用“,”分开的用户名,列出的是附加组的成员。4.2.2Linux中用户和用户组的配置文件第12页Linux网络操作系统配置与管理2020年6月1日星期一4.2.3用户登录Linux系统的过程Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有:/etc/passwd、/etc/shadow、/etc/groupLinux用户登入系统过程实质是系统读取、核对这几个文件的过程,其过程如下:出现登录系统的画面提示输入账号,输入账号与密码;Linux先寻找/etc/passwd里面是否有该账号名,若没有则退出登录,若有则将该账号对应的UID(UserID)与GID(GroupID)、用户主目录、shell设定一并读出;Linux进入/etc/shadow里面找出登录账号与UID相对应的记录,然后核对一下刚刚输入的密码与此文件的密码是否符合;以上核定没有问题,用户正式进入系统。第13页Linux网络操作系统配置与管理2020年6月1日星期一4.2.4Linux中文件和目录的权限1.文件和目录的一般权限第1个字符:表示该文件的类型,其类型标识符和对应的文件类型。第2~4个字符:表示该文件的属主用户(文件的所有者)对该文件的访问权限。第5~7个字符:表示该文件的属组用户(与属主用户同组的各成员用户)对该文件的访问权限。第8~10个字符:表示其他所有用户对该文件的访问权限。第11个字符:用来表示是否有一个可替换的访问控制措施应用在该文件上。当为一个空格时,表示系统没有可替换的访问控制措施;当为“.”字符时,代表该文件使用了SElinux安全上下文,且未使用其他的访问控制措施;当为“+”字符时,表示该文件在使用SElinux安全上下文的同时,还混用了其他访问控制措施(如:访问控制列表ACL)。第14页Linux网络操作系统配置与管理2020年6月1日星期一4.2.4Linux中文件和目录的权限1.文件和目录的一般权限第15页Linux网络操作系统配置与管理2020年6月1日星期一4.2.4Linux中文件和目录的权限2.文件和目录的特殊权限在Linux系统中,用户对文件或目录的访问权限,除了r(读取)、w(写入)、x(执行)三种一般权限外,还有SETUID(SUID)、SETGID(SGID)、StickyBit(粘滞位)三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制。(1)SETUID(SUID)(2)SETGID(SGID)(3)StickyBit(SBit,粘滞位)第16页Linux网络操作系统配置与管理2020年6月1日星期一4.3项目实施任务4-1用户的管理1.添加新用户——useradd命令命令格式:useradd[选项]username常用选项:-c注释信息——设定与用户相关的说明信息(如,真实姓名、邮箱地址等)。-d目录——设定用户的家目录(默认为/home/用户名)。-eYYYY-MM-DD——设置用户的失效日期,此日期后将不能使用该账号。-f天数——指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定为-1,则表示账号过期后不被禁用(即密码永不过期)。-g组名或GID号——为用户指定所属的基本组,该组在指定时必须已存在。-G组名或GID号列表——为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个,组之间用“,”分隔。-M——不创建用户家目录。-N——不创建与用户名同名的基本组。-p密码——指定用户的登录密码。-sshell名——指定用户登录后使用的Shell,默认是bash。-u用户号——设置账号的UID,默认是已有用户的最大UID加1。如果同时有-o选项,则可以重复使用其他用户的标识号。第17页Linux网络操作系统配置与管理2020年6月1日星期一⑵应用示例【例4-1】新建一个用户zhang3,查看passwd、shadow文件中的变化,并确认该用户的家目录中的初始配置文件。任务4-1用户的管理[root@dyzx~]#useraddzhang3[root@dyzx~]#tail-1/etc/passwdzhang3:x:1001:1001::/home/zhang3:/bin/bash[root@dyzx~]#tail-1/etc/shadowzhang3:!!:16925:0:99999:7::://注意密码字段的内容为“!!”,表示密码尚未设置[root@dyzx~]#ls-ld/home/zhang3drwx------.3zhang3zhang37411月415:58/home/zhang3[root@dyzx~]#ls-A/home/zhang3.bash_logout.bash_profile.bashrc.mozillauseradd命令做了下面几件事:在/etc/passwd和/etc/group文件中增添了一行记录;为