版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
02openEuler网络操作系统搭建、配置与管理第2章openEuler的用户及用户组教材配套·授课版课件openEuler24.03LTSKernel6.6第2章openEuler的用户及用户组目录目录2.1用户和用户组介绍2.1.1用户·2.1.2组2.2管理用户与用户组
基本命令·su命令与sudo命令介绍·其他相关文件2.3实验项目:用户和组管理
社会责任:用户隐私保护与法律责任
附:社会责任(思政)·本章小结·练习题(选择题含答案+简答题)·结束页openEuler24.03LTS·Kernel6.62/762.4第2章openEuler的用户及用户组★重点知识地图本章知识地图:用户·用户组·配置文件openEuler24.03LTS·Kernel6.63/76第2章openEuler的用户及用户组★重点本章学习目标openEuler24.03LTS·Kernel6.64/76本章学习目标(7项)完成本章学习后,应能独立规划、创建并管理openEuler中的用户与用户组,并正确配置权限与密码策略。1.用户与用户组分类区分root/系统用户/普通用户,以及主组(基本组)与附加组的作用。2.理解核心配置文件说明/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow各自存储的内容与访问权限。3.用户管理命令熟练使用useradd/userdel/usermod/passwd完成用户的增、删、改、设密。4.用户组管理命令熟练使用groupadd/groupmod/groupdel/gpasswd管理用户组及其成员。5.密码策略配置使用chage设置密码有效期,理解账户老化与安全管理。6.提权与最小权限掌握su与sudo的区别,遵循最小权限原则进行日常运维。7.安全责任意识认识用户隐私保护与系统安全的法律与道德责任(呼应本章思政)。openEuler的用户及用户组openEuler的用户及用户组openEuler24.03LTS·Kernel6.65/76第2章openEuler的用户及用户组第2章openEuler的用户及用户组在实际的工作环境中,相当重要的一环就是管理用户及用户组,本章将从管理者的角度学习用户和用户组的相关操作。openEuler24.03LTS·Kernel6.66/762.1用户和用户组介绍用户和用户组介绍openEuler24.03LTS·Kernel6.67/76第2章openEuler的用户及用户组2.1用户和用户组介绍2.1.1用户openEuler操作系统是基于Linux内核的,它与Linux操作系统一样,是一个多用户多任务的操作系统,任何一个想要使用系统资源的用户,都必须首先向系统管理员root申请一个账号,然后以这个账号的身份进入系统。每个用户都有一个唯一的用户名和用户ID(UID),用于系统内部标识和管理权限。UID为0的用户是超级用户(root),拥有系统中最高的权限,系统UID1~199,动态系统200~999。这些用户通常不能登录系统。普通用户UID从1000开始,是由管理员创建的用于日常工作的用户。需要注意的是,UID是不能冲突的,普通用户的UID默认是从1000开始的(即使前面有闲置的号码)。用户的个人工作目录,通常位于/home/username。例如用户euler的工作目录如图2-1所示。图2-1查看euler的工作目录openEuler24.03LTS·Kernel6.68/76第2章openEuler的用户及用户组2.1用户和用户组介绍说明:可使用ls或ll命令查看文件夹内的文件(文件相关知识将在下一章节介绍)。openEuler24.03LTS·Kernel6.69/76第2章openEuler的用户及用户组2.1用户和用户组介绍2.1.2组为了方便对有相同权限的多个用户进行统一的管理,Linux系统中还引入了用户组的概念。通过使用用户组号码(GID,GroupIdentification),可以把多个用户加入同一个组中,从而方便为组中的用户统一规划权限或指定任务。例如,对研发部门设置权限,使得只有研发部门的员工可以访问公司的数据库信息等。同样地,每个用户组也有自己的GID,root用户的GID为0,系统组的GID通常在0到999之间,系统组的主要目的是为系统服务和守护进程提供必要的权限,而普通用户的GID通常在1000到65533之间,在不指定GID的情况下,创建一个新用户时,系统会自动为该用户创建一个同名的用户组,并分配一个未使用的GID。另外,新用户的基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称为扩展用户组。一个用户只有一个基本用户组(主组),用户创建的文件和目录默认属于这个主组。但是一个用户可以有多个扩展用户组(附加组),这些组可以赋予用户额外的权限,从而满足日常的工作需要。openEuler24.03LTS·Kernel6.610/762.2管理用户与用户组管理用户与用户组openEuler24.03LTS·Kernel6.611/76第2章openEuler的用户及用户组2.2管理用户与用户组2.2.1基本命令•useradd命令useradd命令用于创建新的用户账户,语法格式为:可以使用useradd命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在“/home/用户名”目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。这些默认设置可以根据表2-1中的可选参数自行修改。openEuler24.03LTS·Kernel6.612/76useradd[选项][用户名]第2章openEuler的用户及用户组★重点2.2管理用户与用户组2.2.1基本命令选项说明-c为用户添加注释信息,通常用于描述用户的角色或用途-d指定用户的主目录-e设置用户的账户过期日期,格式为YYYY-MM-DD-f设置用户密码过期后的宽限期(天数),不指定的情况下默认密码永不过期-g指定用户的初始登录组-G指定用户的附加组-m自动创建用户的主目录(默认情况下会创建)-M不创建用户的主目录(即使默认行为是创建)。-s指定用户的登录Shell,默认是bin/bash-u指定用户的用户UID,默认情况下系统会自动分配一个未使用的UIDopenEuler24.03LTS·Kernel6.613/76第2章openEuler的用户及用户组2.2管理用户与用户组案例:创建一个新用户tom,但不设置密码,如图2-2所示。图2-2创建用户tom•passwd命令passwd命令用于修改用户的密码、过期时间等信息,语法格式为:普通用户只能使用passwd命令修改自己的系统密码,而root用户则有权限修改其他所有人的密码。并且root用户在修改自己或他人的密码时不需要验证旧密码。passwd命令中可用的参数选项及说明如表2-2所示。openEuler24.03LTS·Kernel6.614/76passwd[选项][用户名]第2章openEuler的用户及用户组★重点2.2管理用户与用户组2.2.1基本命令选项说明-l锁定用户账户,使其无法登录-u解锁用户账户,允许用户登录-d删除用户的密码,用户可以无须密码登录-e强制用户在下次登录时更改密码-n设置密码的最小使用期限(天数),在该期限内用户无法更改密码-x设置密码的最大使用期限(天数),超过该期限后用户必须更改密码-w设置密码警告期限(天数),在密码过期前多少天提醒用户-i设置密码过期后的宽限期(天数),在宽限期内用户可以登录但必须更改密码-S显示用户密码状态信息,包括是否锁定、密码过期时间等openEuler24.03LTS·Kernel6.615/76第2章openEuler的用户及用户组2.2管理用户与用户组直接使用passwd命令表示修改当前用户的密码。案例:设置用户tom的密码,如图2-3所示。图2-3设置用户tom的密码说明:出于安全考虑,设置和输入密码时都默认屏幕上无显示,若设置的密码过于简单,系统会建议设置复杂度较高的密码,但这不是绝对的,用户仍然可以使用弱口令密码,不过在实际工作环境中请使用安全系数较高的密码以确保系统安全。root用户对其他用户密码进行更多操作,可以根据实际需要选择合适参数。案例:锁定用户tom,如图2-4锁定用户tom所示。openEuler24.03LTS·Kernel6.616/76第2章openEuler的用户及用户组2.2管理用户与用户组图2-4锁定用户tom解锁时同样要在root用户下操作,命令执行结果如图2-5所示。openEuler24.03LTS·Kernel6.617/76第2章openEuler的用户及用户组2.2管理用户与用户组图2-5解除用户tom锁定值得一提的是:通常情况下,如果用户没有设置密码(即密码为空),系统会禁止该用户通过常规的交互式登录方式(如终端登录、图形界面登录)登录系统。这是因为出于安全考虑,未设置密码的账户被认为存在安全风险。•usermod命令usermod命令用于修改用户的各种属性,语法格式为:常用选项如表2-3所示。openEuler24.03LTS·Kernel6.618/76usermod[选项][用户名]第2章openEuler的用户及用户组★重点2.2管理用户与用户组2.2.1基本命令选项说明-aG将用户添加到附加组,而不移除现有的附加组-c更新用户的注释字段-d更改用户的主目录-m通常与-d一起使用,将用户的主目录移动到新的位置-e设置账户的过期日期,格式为YYYY-MM-DD-g更改用户的主组-G更改用户的附加组-L锁定用户的密码,禁止用户登录-U解锁用户的密码,允许用户登录-s更改用户的默认Shell-u更改用户的用户UIDopenEuler24.03LTS·Kernel6.619/76第2章openEuler的用户及用户组2.2管理用户与用户组案例:将用户tom的主目录改为“/home/test”,如图2-6~图2-8所示。openEuler24.03LTS·Kernel6.620/76第2章openEuler的用户及用户组2.2管理用户与用户组2.2.1基本命令图2-6修改前图2-7修改用户tom主目录图2-8修改后openEuler24.03LTS·Kernel6.621/76第2章openEuler的用户及用户组2.2管理用户与用户组说明:用户的主目录可以在/etc/passwd文件中查询。•userdeluserdel命令用于删除给定的用户及与用户相关的文件。
加上“-r”选项表示删除用户的同时,删除与用户相关的所有文件,语法格式为:若不加“-r”选项,则仅删除用户账号,而不删除相关文件,如图2-9所示。图2-9仅删除账号不删除相关文件加上“-r”选项表示删除用户的同时,删除与用户相关的所有文件,如图2-10所示。openEuler24.03LTS·Kernel6.622/76userdel[-r][用户名]第2章openEuler的用户及用户组2.2管理用户与用户组图2-10删除用户同时删除相关文文件•groupaddgroupadd命令用于创建新的用户组,语法格式为:为了能够更加高效地给系统中各个用户分配权限,实际工作中常常会把几个用户加入到同一个组里面,这样便可以针对一类用户统一安排权限。案例:创建一个用户组group1,并将用户tom和euler拉入该组,如图2-11所示。openEuler24.03LTS·Kernel6.623/76groupadd[选项][组名]第2章openEuler的用户及用户组2.2管理用户与用户组图2-11创建用户组并添加用户说明:用户归属哪个组可以在/etc/group文件中查询,输入命令后用户tom和euler的归属组如图2-12所示。openEuler24.03LTS·Kernel6.624/76第2章openEuler的用户及用户组2.2管理用户与用户组图2-12查看用户归属组•groupmodgroupmod命令用于修改用户组的各种属性,语法格式为:groupmod命令的常用选项如表2-4所示。openEuler24.03LTS·Kernel6.625/76groupmod[选项][组名]第2章openEuler的用户及用户组★重点2.2管理用户与用户组2.2.1基本命令选项说明-g[GID]更改用户组的GID-n[new_group][groupname]更改用户组的名称-p[PASSWORD][groupname]设置用户组的加密密码,直接设置密码可能会导致安全问题,建议通过其他工具(如gpasswd)管理组密码openEuler24.03LTS·Kernel6.626/76第2章openEuler的用户及用户组2.2管理用户与用户组案例:创建用户user2,user3和用户组group2,修改组名为newgroup并将user2和user3加入newgroup,如图2-13所示。图2-13创建并修改组名•gpasswd命令gpasswd命令用于管理用户组,它提供了一种集中管理用户组的方式,避免了直接编辑
配置文件带来的风险。它通过命令行工具简化了用户组管理,使得系统管理员可以更高效地管理用户权限,openEuler24.03LTS版本默认已安装该工具,可以通过which命令检查gpasswd的安装位置。如果返回路径,则表示已安装;如果没有返回任何内容,则表示未安装。如果未安装可以通过下面这条命令安装。openEuler24.03LTS·Kernel6.627/76第2章openEuler的用户及用户组2.2管理用户与用户组注意:使用gpasswd命令需要管理员权限。它的语法格式为:gpasswd命令常用选项如表2-5所示。openEuler24.03LTS·Kernel6.628/76sudo
dnf
install
shadow-utilsgpasswd[选项][组名]第2章openEuler的用户及用户组★重点2.2管理用户与用户组2.2.1基本命令选项说明-a[username][groupname]将指定用户添加到组中-d[username][groupname]将指定用户从组中删除-A[username][groupname]设置组管理员,允许这些用户管理组成员-M[username][groupname]设置组的成员列表,多个组成员之间用逗号分隔-r[groupname]移除组的密码-R[groupname]限制只有组成员才能使用newgrp命令加入openEuler24.03LTS·Kernel6.629/76第2章openEuler的用户及用户组2.2管理用户与用户组案例:新建用户user3,user4,userexample并将他们加入新创建的group3群组中,设置user3为该组管理员,如图2-14所示。图2-14创建组,添加用户并设置组管理员从用户组group3中删除用户userexample,如图2-15所示。openEuler24.03LTS·Kernel6.630/76第2章openEuler的用户及用户组2.2管理用户与用户组图2-15删除用户userexample•groupdel命令groupdel命令用于删除指定的组,需要注意的是:在openEuler24.03LTS版本中,使用groupdel命令删除用户组时,系统不会自动检查该组中是否还有用户存在。在执行该命令之前请确保该群组中不存在用户,才能删除群组,如果组中仍有用户,删除该组可能会导致这些用户的主组或附加组信息出现异常。该命令语法格式为:案例:删除用户组group3,命令执行结果如图2-16所示。openEuler24.03LTS·Kernel6.631/76groupdel[组名]第2章openEuler的用户及用户组2.2管理用户与用户组图2-16删除群组•id命令id命令用于显示用户和用户组的标识信息(UID和GID)。它可以帮助用户和系统管理员快速查看当前用户或指定用户的用户ID、组ID及所属的用户组信息。语法格式为案例:查看用户euler的信息,命令执行结果如图2-17所示。openEuler24.03LTS·Kernel6.632/76id[用户名]第2章openEuler的用户及用户组2.2管理用户与用户组图2-17查看用户信息•groups命令groups命令用于显示当前用户所属用户组信息的工具。它可以帮助用户和系统管理员快速查看当前用户或指定用户所属的用户组列表,语法格式为:案例:显示root用户的用户组,命令执行结果如图2-18所示。openEuler24.03LTS·Kernel6.633/76groups[用户名]第2章openEuler的用户及用户组2.2管理用户与用户组图2-18查看用户所属用户组说明:如果不指定用户名,则该命令默认显示当前登录用户的组信息。•whoami命令whoami命令用于返回当前使用的用户,如图2-19所示。openEuler24.03LTS·Kernel6.634/76第2章openEuler的用户及用户组2.2管理用户与用户组图2-19使用whomi命令返回当前使用的用户•newgrp命令当一个用户同时属于多个用户组时,可以在用户登录后,使用newgrp命令可以切换到其他用户组,以便具有其他用户组的权限,语法格式为:案例:将用户userexample加入group1和group2,如图2-20所示。openEuler24.03LTS·Kernel6.635/76newgrp[用户组名]第2章openEuler的用户及用户组2.2管理用户与用户组图2-20将用户userexample加入group1和group2切换userexample用户的用户组,如图2-21所示。openEuler24.03LTS·Kernel6.636/76第2章openEuler的用户及用户组2.2管理用户与用户组图2-21切换userexample用户的用户组说明:使用newgrp命令时,用户必须是目标组的成员。如果不是,系统会提示错误;newgrp命令不会改变用户的登录状态,只是改变当前会话的用户组。openEuler24.03LTS·Kernel6.637/76第2章openEuler的用户及用户组★重点2.2管理用户与用户组su命令与sudo命令介绍在教学时,习惯使用root用户以便于操作,但是在实际生产环境中,出于安全考虑,一般使用普通用户来进行日常作业,等到需要进行系统维护或软件更新时,才使用root用户来进行系统管理,以此来避免一些不可挽回的操作。让一般用户切换为root用户有两种命令:su和sudo。•su命令su(SubstituteUser)命令是Linux系统中用于切换用户身份的工具,允许用户以另一个用户的身份登录系统。默认情况下,su命令用于切换到超级用户(root)账户,但也可以用于切换到其他普通用户账户。语法格式为:可选选项如表2-6所示。openEuler24.03LTS·Kernel6.638/76su[选项][用户名]第2章openEuler的用户及用户组★重点2.2管理用户与用户组su命令与sudo命令介绍选项说明-l或--login切换到目标用户并加载其登录环境(包括主目录、环境变量等)-c或--command在切换用户后执行指定的命令,然后退出-s或--Shell指定切换用户后使用的Shell-p或--preserve-enVironment保留当前用户的环境变量,不加载目标用户的环境-i或--login与-l相同,切换到目标用户并加载其登录环境openEuler24.03LTS·Kernel6.639/76第2章openEuler的用户及用户组★重点2.2管理用户与用户组应用实例,如图2-22所示:图2-22使用su命令切换到tom用户说明如下。•exit命令用于返回原用户;•如果从权限高的用户切换到权限低的用户,不需要密码;反之需要。需要注意的是:单纯使用su命令切换成为root的身份,读取的变量设置方式为non-login-Shell的方式,这种方式导致很多原本的变量不会被改变,如PATH环境变量,由于没有改变成为root的环境,因此很多root惯用的指令就只能使用绝对路径来执行,如果想彻底换成root用户环境,可以使用-或-l选项,这会加载目标用户的环境变量,包括切换到目标用户的主目录。openEuler24.03LTS·Kernel6.640/76第2章openEuler的用户及用户组★重点2.2管理用户与用户组虽然使用su命令可以很方便地在多个用户之间来回切换,不过缺点是,在实际生产环境中,并不是所有人都知道root的密码,为了解决这一问题,可以使用sudo命令。•sudo命令相比于su命令需要了解新切换的使用者密码(常常是需要root的密码),sudo的执行则仅需要自己的密码即可,甚至可以不需要密码即可执行sudo。sudo命令可以让当前用户以其他用户的身份执行指令(通常是使用root的身份来执行指令)。语法格式为:sudo命令可选选项如表2-7所示。openEuler24.03LTS·Kernel6.641/76sudo[选项][命令]第2章openEuler的用户及用户组★重点2.2管理用户与用户组su命令与sudo命令介绍选项说明-i或--login以目标用户的身份启动一个新的登录会话,加载目标用户的环境变量和配置文件-u或--user指定以哪个用户的身份执行命令。默认为root用户-g或--group指定以哪个组的身份执行命令-c或--command执行指定的命令-s或--Shell启动一个Shell会话并以目标用户的身份运行-n或--non-interactive非交互模式,不会提示用户输入密码-l或--list列出当前用户可以执行的sudo命令-h或--help显示帮助信息openEuler24.03LTS·Kernel6.642/76第2章openEuler的用户及用户组★重点2.2管理用户与用户组例如,以root用户的身份运行ls命令(tom用户已添加sudo权限),如图2-23所示。图2-23以root用户的身份运行ls命令用于配置sudo命令权限的核心文件是/etc/sudoers文件,当使用者执行sudo时,系统会在/etc/sudoers文件中搜寻该使用者是否有执行sudo的权限;若使用者具有可执行sudo的权限后,便让使用者输入自己的密码来确认:若密码验证成功,便开始进行sudo后续接的指令(注意:root执行sudo命令时,不需要输入密码);若欲切换的身份与执行者身份相同,那也不需要输入密码。sudo命令允许已经在/etc/sudoers文件中指定的用户运行管理员账户命令。例如,一个已经获得许可的普通用户可以通过sudo命令,使用useradd命令添加用户:openEuler24.03LTS·Kernel6.643/76第2章openEuler的用户及用户组★重点2.2管理用户与用户组实际上,sudo的配置完全可以指定某个已经列入/etc/sudoers文件的普通用户可以做什么,不可以做什么。/etc/sudoers的配置如图2-24所示。图2-24/etc/sudoers文件说明如下。•以#字符打头的为空行或注释行,无具体功能。openEuler24.03LTS·Kernel6.644/76sudo
/usr/sbin/useradd
userexample1第2章openEuler的用户及用户组★重点2.2管理用户与用户组•可选的主机别名行:用来创建主机列表的简称。以Host_Alias关键词开头,列表中的主机必须用逗号隔开,语法格式如下所示:示例:euler是主机名,可使用user5(别名)称呼它。可以在一行定义多个别名,中间用冒号“:”隔开。•可选的用户别名行:用来创建用户列表的简称。用户别名行必须以User_Alias关键词开头,列表中的用户名必须以逗号隔开。其格式同主机别名行。示例:使用SHUTDOWN代替shutdown命令。在命令或命令别名之前加上感叹号(!),代表该命令或命令别名无效。•可选的命令别名行:用来创建命令列表的简称。必须以Cmnd_Alias开头,列表中的命令必须用逗号隔开。openEuler24.03LTS·Kernel6.645/76Host_Alias
别名
=
主机名列表Host_Alias
user5=eulerCmnd_Alias
SHUTDOWN
=
/sbin/shutdown第2章openEuler的用户及用户组★重点2.2管理用户与用户组•可选的运行方式别名行:用来创建用户列表的简称。不同的是,使用这样的别名可以告诉sudo程序以列表中某一用户的身份来运行程序。•必要的用户访问说明行。用户访问的说明语法如下:这条规则定义了用户user在主机host上可以以哪个用户的身份执行哪些命令。用户和用户组相关文件。说明:有两个关键词:ALL和NOPASSWD。ALL意味着“所有”(所有文件、所有主机或所有命令),NOPASSWD意味着不用密码。通过修改用户访问,将普通用户的访问权限修改为和root一样,则可以给普通用户分配特权。示例如下。表示在所有主机上,ADMIN用户都可以以root身份执行所有命令。openEuler24.03LTS·Kernel6.646/76user
host
=[run
as
user
]
command
listadmin
ALL=ALL%group1
ALL=(ALL)ALL第2章openEuler的用户及用户组★重点2.2管理用户与用户组表示group1组成员可以获得root权限。表示用户user1执行dnf命令时不需要password。openEuler24.03LTS·Kernel6.647/76user1
ALL=NOPASSWD:/usr/sbin/dnf第2章openEuler的用户及用户组2.2管理用户与用户组其他相关文件除了sudo的核心文件/etc/sudoers外,还有几个与用户相关的常用的配置文件:/etc/passwd、/etc/group、/etc/shadow,这里将一一介绍这些文件的作用。•/etc/passwd/etc/passwd文件是用户(user)的配置文件,记录用户的各种信息。/etc/passwd文件中的每一行代表一个用户,每行由7个字段组成,字段之间用冒号(:)分隔。passwd文件结构很简单,如图2-25是用cat命令打印的部分passwd的内容:图2-25/etc/passwd文件每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录ShellopenEuler24.03LTS·Kernel6.648/76第2章openEuler的用户及用户组2.2管理用户与用户组说明如下。•用户名:用户的登录名,是用户登录系统时输入的用户名。•口令:用户的密码,不过出于安全考虑,这个字段通常是一个占位符实际的密码信息存储在/etc/shadow文件中。•用户标识号:用户的唯一标识符(UserID)。•组标识号:用户所属的初始登录组的组ID(GroupID)。•注释性描述:也称为注释字段,用于描述用户的信息,如用户的全名、电话号码等。•主目录:用户登录后的工作目录路径。•登录Shell:用户登录时使用的Shell程序路径。例如下面这行命令,表示用户为userexample,x是密码占位符,UID是1005,GID是1007,没有注释字段,主目录位于/home/userexample,使用的Shell是bash。•/etc/groupopenEuler24.03LTS·Kernel6.649/76userexample:x:1005:1007::/home/userexample:/bin/bash第2章openEuler的用户及用户组2.2管理用户与用户组/etc/group文件与/etc/passwd文件类似,但它主要用于存储用户组(Group)的相关信息。/etc/group文件中的每一行代表一个用户组,每行由4个字段组成,字段之间用冒号(:)分隔。如图2-26是group文件的部分内容:图2-26/etc/group文件每行含义:组名:口令:组标识号:组内用户列表。说明如下。•组名:用户组的名称,是用户组的唯一标识。•口令:与/etc/passwd类似,这个字段通常是一个占位符,组密码(如果有的话)通常存储在etc/gshadow文件中。openEuler24.03LTS·Kernel6.650/76第2章openEuler的用户及用户组2.2管理用户与用户组•组标识号:用户组的唯一标识符(GroupID)。•组内用户列表:该组的所有成员。示例如下。上述命令,表示组名为group1,x是密码占位符,GID是1002,后面的euler,tom,userexample是归属该组的成员。•/etc/sshadow最初,/etc/passwd保存了用户的密码,但由于历史原因,/etc/passwd和/etc/group两个文件必须对所有用户可读,存放在/etc/passwd的密码虽然不是明文,但由于加密算法是公开的,只要允许足够的测试,总可以拿测试结果和编码的passwd对比而破解密码。由于存在这样的安全隐患,目前存放密码的任务交给另一个文件/etc/shadow负责,它仅对超级用户可读。/etc/shadow文件存储了用户账户的加密密码及其他与密码相关的安全信息,它由9个字段组成,字段之间用冒号(:)分隔。shadow文件的内容如图2-27所示openEuler24.03LTS·Kernel6.651/76group1:x:1002:euler,tom,userexample第2章openEuler的用户及用户组2.2管理用户与用户组图2-27/etc/shadow文件每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留字段。说明如下。•登录名:系统中的用户账户名,与/etc/passwd文件中的用户名一致/•加密口令:用户的加密密码,通常采用哈希算法(如SHA-512)加密,如果密码字段为*或!,则表示密码已被锁定或禁用,无法登录。•最后一次修改时间:从1970年1月1日(UTC)开始的天数,表示最后一次更改密码的日期。如果为0表示1970-01-01起0天,即从未修改过密码。•最小实际间隔:用户可以再次更改密码之前必须等待的天数,如果为0,表示用户可以随时更改密码。openEuler24.03LTS·Kernel6.652/76第2章openEuler的用户及用户组2.2管理用户与用户组•最大时间间隔:密码的有效天数,如果为99999或类似的大数字,表示密码永不过期。•警告时间:密码需要变更前的警告天数。•不活动时间:如果用户在密码过期后多少天内没有登录,账户将被禁用。如果为0,表示密码过期后用户仍可以登录。•失效时间:账户的过期日期,从1970年1月1日(UTC)开始计算的天数。如果为0或为空,表示账户永不过期。•保留字段:保留未用,未来可能会扩展使用。示例:上述命令的第一个字段euler表示用户账户为euler,与/etc/passwd文件中的用户名一致,后续的一串字符串是经过加密算法加密的账户密码,后面的空字段表示密码从未更改过,之后的数字0代表表示密码可以随时可更改,99999表示密码没有强制过期限制,7代表在密码到期前的7天开始警告用户,后面的空字段表示密码过期后用户不能登录系统,账号失效日期为空表示账号永不过期。需要注意的是:/etc/shadow文件包含敏感信息,因此该文件权限通常被设置为只有root用户可以读取和写入,普通用户无法直接查看该文件内容。openEuler24.03LTS·Kernel6.653/76euler:$y$j9T$NNyYgRIu81J5JMf2Pt/RHVCZ$bNAPKI71oB2ptoXw19wSe.oZCDUiqIQBJRB6nHj3yI0::0:99999:7:::第2章openEuler的用户及用户组★重点2.2管理用户与用户组权限表示方法(chmod/rwx)文件与目录权限由r(读)w(写)x(执行)组成,可用符号模式或数值模式(r=4,w=2,x=1)表示。符号模式数值模式含义/示例r4读:查看文件内容;对目录可列出文件w2写:修改文件;对目录可增删文件x1执行:运行文件;对目录可进入(cd)rw-6读写(常用,不可执行)r-x5读+执行(脚本/目录常用)rwx7读写执行(所有者常用)---0无任何权限设置示例:chmod755file(rwxr-xr-x);chmodu+xscript(给所有者加执行位)。openEuler24.03LTS·Kernel6.654/762.3实验项目:用户和组管理实验项目:用户和组管理openEuler24.03LTS·Kernel6.655/76第2章openEuler的用户及用户组2.3实验项目:用户和组管理•实验背景•某单位现有10名工作人员,分别在3个部门工作。需要在服务器上为每个人创建不同的账户,例如:user01~user10。同一部门人员分入一个工作组中,每个用户都有自己的工作目录,对每个部门和每个用户在服务器上的工作目录进行限制。•实验要求•账户的创建、修改、删除。•用户的访问权限。•自定义组的创建与删除。•实验步骤:•用户的管理•创建一个新用户user01,设置其主目录为home/user01,命令执行结果如图2-28所示。openEuler24.03LTS·Kernel6.656/76第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-28创建新用户user01•查看/etc/passwd文件的最后一行,观察该文件的记录,如图2-29所示。openEuler24.03LTS·Kernel6.657/76第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-29查看/etc/passwd文件•查看/etc/shadow文件的最后一行,观察该文件的记录,如图2-30所示。openEuler24.03LTS·Kernel6.658/76第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-30查看/etc/shadow文件•给用户user01设置密码,如图2-31所示。openEuler24.03LTS·Kernel6.659/76第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-31给用户user01设置密码•再次查看/etc/shadow文件的最后一行,注意观察该文件的记录变化。如图2-32所示。openEuler24.03LTS·Kernel6.660/76第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-32再次查看/etc/shadow文件•组的管理•创建一个新组group01。•查看/etc/group文件的最后一行,观察该文件的记录,如图2-33所示。openEuler24.03LTS·Kernel6.661/76groupadd
group01第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-33查看/etc/group文件•创建一个新账户user02,并把其起始组和附属组都设为group01。•查看/etc/group文件的最后一行,观察该文件的记录,如图2-34所示。openEuler24.03LTS·Kernel6.662/76useradd
-g
group01-G
group01
user02第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-34查看/etc/group文件•在组group01中删除用户user02。•再次查看/etc/group文件的最后一行,注意观察该文件的记录变化。如图2-35所示。openEuler24.03LTS·Kernel6.663/76gpasswd
-d
user02
group01。第2章openEuler的用户及用户组2.3实验项目:用户和组管理图2-35再次查看/etc/group文件openEuler24.03LTS·Kernel6.664/76社会责任:用户隐私保护与法律责任社会责任:用户隐私保护与法律责任openEuler24.03LTS·Kernel6.665/76第2章openEuler的用户及用户组★重点社会责任:用户隐私保护与法律…社会责任·用户隐私保护与法律责任信息技术从业者须理解用户数据与系统安全背后的道德与法律责任。(一)三个核心论点从安全、规范、责任三个维度认识用户管理的职业操守➊安全意识用户隐私保护是现代社会基本道德与法律要求;/etc/passwd、/etc/shadow、/etc/group等含敏感信息的文件须严格限制访问权限,仅授权人员可读取。➋规范操作遵循最小权限原则:日常用普通用户,仅维护时通过root或sudo提权,避免长期以root操作。➌责任担当对违规行为,法律将追究行政、民事乃至刑事责任;管理者须保护用户数据与合法权益。openEuler24.03LTS·Kernel6.666/76第2章openEuler的用户及用户组★重点社会责任:用户隐私保护与法律…社会责任·思考与讨论(4题)(二)思考与讨论结合真实场景,反思用户隐私保护与权限操作的边界Q1为什么/etc/shadow等保存密码的文件必须严格限制访问权限?Q2在生产环境中滥用root权限可能带来哪些安全风险?Q3作为系统管理员,如何在“操作便利”与“系统安全”之间取得平衡?Q4泄露或滥用用户隐私信息,可能承担哪些法律责任?openEuler24.03LTS·Kernel6.667/76第2章openEuler的用户及用户组★重点本章小结本章小结·核心知识回顾(8项)①用户类型root(UID0)/系统用户(1–999)/普通用户(≥1000)②用户组主组(基本组,每用户唯一)+附加组(可多个,统一授权)③增删用户useradd新建;userdel-r删除用户及其家目录④修改用户usermod修改属性(主目录/组/Shell等)⑤密码策略passwd设置密码;chage管理密码有效期⑥组管理groupadd/groupmod/gpasswd创建、修改与成员管理⑦提权方式su切换用户;sudo细粒度授权、可审计⑧核心配置/etc/passwd、/etc/shadow、/etc/group、/etc/gshadowopenEuler24.03LTS·Kernel6.668/76第2章openEuler的用户及用户组★重点本章小结本章小结·重点命令速查表分类命令作用/说明用户管理useradd新建用户账户用户管理userdel-r删除用户及其家目录用户管理usermod修改用户属性(主目录/组/Shell)用户管理passwd设置或修改用户密码用户管理chage设置密码有效期策略用户管理id/whoami查看UID·GID/当前用户组管理groupadd新建用户组组管理groupmod修改组名/GID组管理groupdel删除用户组组管理gpasswd管理组成员(添加/移除管理员)组管理groups/newgrp查看所属组/切换当前组权限su切换用户身份(需目标密码)权限sudo以授权身份执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 普通感冒与流感的鉴别及居家护理课件
- 2026年产品宣传片策划试题及答案
- 2026年舞蹈设计师舞蹈技术试题及答案
- 2026年血管外科护理三基年度培训方案
- 2026年事业单位招聘公共基础知识模拟考试题(含答案)
- 2026年药品经营许可事项告知书
- 2026年眼镜定配工职业理论练习题及答案
- 2026年透析失衡综合征应急三基三严培训计划
- 2026年食品安全法知识测试模拟试题及答案
- 2026年网络中断应急处置三基三严培训计划
- 客运驾驶员安全课件
- GB/T 4772.1-2025旋转电机尺寸和输出功率等级第1部分:机座号56~400和凸缘号55~1 080
- 《先进制造技术》课件(共七章)
- 电工基础课程说课课件
- 华为以客户为中心培训
- 危险作业告知卡
- 2025年成都市中考物理试题卷(含标准答案及解析)
- JG/T 296-2010空气吹淋室
- 铁路知识培训教案
- 事故申请复议申请书范本
- 2024-2025学年江苏省南京市江宁区东南实验学校七年级(上)月考数学试卷(10月份)(含答案)
评论
0/150
提交评论