版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章
用户和用户组管理本章导读在多用户、多任务的Linux分时操作系统环境中,有效的用户和用户组管理对于保障系统安全、优化资源分配以及提升系统管理效率至关重要。不同用户具有不同的操作权限,超级用户root拥有系统的所有操作权限,但出于安全考虑,日常操作通常由普通用户执行。为了合理分配权限,系统管理员需创建多个具有不同权限的用户账户,并通过用户组的设置进一步简化权限管理,实现对资源的精细化控制。通过本章学习,读者将全面掌握Linux操作系统中用户和用户组管理的相关知识、操作技能以及解决常见问题的方法,为后续学习Linux网络服务与安全管理打下坚实基础。学习目标1.知识目标理解用户账号、用户组的概念及其在Linux操作系统中的作用。掌握用户账号文件(passwd和shadow)以及用户组文件(group和gshadow)的结构与存储信息。熟悉普通用户管理和用户组管理涉及的各类操作及其原理。清楚常见用户管理问题(如忘记root用户密码、误删用户账号)的产生原因与应对方法。2.技能目标能够熟练运用命令行工具添加用户账号、更改密码、修改信息、删除,禁用普通用户,并配置用户的Shell环境。能够准确执行添加、修改、删除用户组等操作。针对忘记root用户密码、误删用户账号等常见问题,具备独立分析和解决的能力。能够灵活运用常用的用户管理命令,高效完成用户和用户组的管理任务。3.素养目标培养严谨的系统管理思维:在进行用户和用户组管理操作时,注重操作的准确性和规范性,避免因不当操作引发系统问题。提升问题解决能力和应变能力:面对复杂多变的用户管理场景和可能出现的问题,能够冷静分析、快速定位并有效解决。树立良好的安全意识:深刻理解用户和用户组管理在系统安全保障中的重要性,严格遵循安全规范进行操作,防止因权限设置不当导致安全漏洞。目录-CONTENTS2.1用户管理概述2.2普通用户管理2.3用户组管理2.4常见问题和常用命令2.1用户管理概述2.1.1用户账号2.1.2用户账号文件2.1.3用户组2.1.4用户组文件2.1用户管理概述用户账号是用户访问Linux操作系统的身份标识。每个用户在系统中都有唯一的账号,通过账号和密码进行登录。用户账号不仅用于身份验证,还与用户在系统中的权限紧密相关。用户通常分为超级用户和普通用户,具体说明如下。1.超级用户(root)
超级用户拥有系统的绝对控制权,用户标识符(UserID)为0,可以执行系统中的任何命令,读写所有文件和目录,并完全管理系统服务。但由于其权限过大,使用root账号进行日常操作存在较大安全风险,误操作可能导致系统崩溃或安全漏洞。2.普通用户
普通用户由超级用户或具有相应权限的用户创建,UID一般从1000开始分配(不同Linux发行版可能略有差异)。普通用户只能在被赋予权限的范围内活动,如访问自己家目录下的文件或使用特定的应用程序等。这种权限限制有助于减少用户操作对系统整体的影响,增强系统安全性。2.1.1用户账号2.1用户管理概述1.passwd文件
passwd文件存于/etc/passwd路径下,是系统用户信息的核心存储文件。它记录了系统中所有用户的基本信息,这些信息对于系统正确识别用户、分配资源以及管理用户访问权限至关重要。系统在处理用户相关操作(如登录验证、权限验证等)时,会首先查询passwd文件。passwd文件的内容如下:2.1.2用户账号文件[root@bogon~]#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologin…省略部分代码…passwd文件的每行代表一个用户的信息,由冒号(:)分隔为7个字段。2.1用户管理概述2.shadow文件
shadow文件位于/etc/shadow路径下,其权限设置极为严格,只有root用户具备读取权限。这一特性极大地提升了用户密码存储的安全性,有效防止了普通用户对其他用户密码信息的非法获取,降低了系统因密码泄露而遭受攻击的风险。shadow文件的内容如下:2.1.2用户账号文件[root@bogon~]#cat/etc/shadowroot:$6$6b9gLO8WzDWREjeG$ADKdud4SB/GRURXNw7U0tTnEDRr2vyB9w86NQnA1z4aUlVKSJuzOZzUegB8yF.tSUAdHWS0Rtnh/3yDB7Kq.k.::0:99999:7:::bin:*:19820:0:99999:7:::daemon:*:19820:0:99999:7:::adm:*:19820:0:99999:7:::lp:*:19820:0:99999:7:::sync:*:19820:0:99999:7:::shutdown:*:19820:0:99999:7:::halt:*:19820:0:99999:7:::mail:*:19820:0:99999:7:::…省略部分代码…shadow文件的每行代表一个用户密码的相关信息,由冒号(:)分隔为9个字段。①
用户名:②
加密密码:③
密码最后修改时间:④
最小密码使用期限:⑤
最大密码使用期限:⑥
密码过期警告天数:⑦
密码过期后宽限天数:⑧
账号失效日期:⑨
保留字段2.1用户管理概述用户组是将多个具有相同权限需求的用户组织在一起的逻辑集合。通过对用户组设置权限,可以方便地对组内所有用户批量赋予或修改权限。例如,在企业环境中,开发团队的所有成员可归属于“developers”用户组,只需对该用户组设置项目相关目录的读写权限,即可快速为组内所有开发人员赋予相应权限,而无须逐个为每个用户单独设置。用户组一般分为以下两类。(1)私有用户组当创建一个用户时,如果没有指定用户组,系统会自动创建一个与用户名相同的私有用户组,该用户默认属于这个私有用户组。这种方式有助于为每个用户提供一定程度的独立权限空间。(2)标准用户组标准用户组由管理员根据实际需求创建,包含多个用户,用于集中管理具有相同权限需求的用户群体。例如,“sales”用户组包含所有销售人员,便于统一设置与销售业务相关的文件和目录访问权限。用户组的作用如下。(1)简化权限管理用户组可简化权限管理,避免为每个用户单独设置大量相同的权限,提高管理效率。例如,对于共享目录,如果有多个用户需要相同的访问权限,将这些用户加入同一个用户组,然后对该用户组统一设置权限即可。(2)增强安全性可以根据不同的业务需求和安全级别合理划分用户组,将用户隔离在不同的组内,限制用户之间的非法访问。比如,财务部门的用户组与研发部门的用户组权限相互独立,防止财务数据被研发人员误访问或篡改。2.1.3用户组2.1用户管理概述1.group文件
group文件是一个文本文件,用于定义系统中的用户组。该文件的每一行代表一个用户组,各字段之间用冒号(:)分隔。group文件的内容如下:2.1.4用户组文件[root@localhost~]#cat/etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:lp:x:7:mem:x:8:kmem:x:9:…省略部分代码…①group_name:用户组的名称。这是用户组的唯一标识,在创建用户时可以将其指定为该用户的初始组或附加组。②password:用户组的密码占位符。在现代Linux操作系统中,这个字段通常被设置为x,表示用户组的密码信息存储在/etc/gshadow文件中,而不是直接存储在/etc/group文件中。③GID:用户组的唯一标识符。这是一个数值,用于在系统内部唯一标识一个用户组。④user_list:属于该用户组的用户列表,多个用户之间用逗号(,)分隔。这些用户被认为是该用户组的成员。group文件的格式:group_name:password:GID:user_list2.1用户管理概述2.gshadow文件
/etc/gshadow文件用于存储用户组的密码和与安全相关的信息。与/etc/group文件类似,该文件的每一行代表一个用户组,各字段之间用冒号(:)分隔。gshadow文件的格式如下:2.1.4用户组文件①group_name:用户组的名称,与/etc/group文件中的group_name字段相对应。②encrypted_password:用户组的加密密码。如果设置了密码,只有知道该密码的用户才能将其他用户添加到该用户组或从该用户组中移除;如果未设置密码,此字段通常为空。③administrators:用户组的管理员列表,多个管理员之间用逗号(,)分隔。这些管理员有权修改用户组的密码和成员列表,即使他们没有系统的root权限。④members:用户组的成员列表,与/etc/group文件中的user_list字段类似,但这里列出的是有额外权限或特殊标识的成员。在某些系统中,这个字段可能为空,成员信息主要存储在/etc/group文件中。group_name:encrypted_password:administrators:members2.2普通用户管理2.2.1添加用户2.2.6配置用户的Shell环境2.2.5禁用用户2.2.4删除用户2.2.3修改用户信息2.2.2更改用户密码2.2普通用户管理使用useradd命令来添加新用户,基本语法如下:useradd[选项]用户名常用选项说明如下。●-m:自动创建用户的主目录。●-s:指定用户的登录Shell。●-g:指定用户的初始组。●-G:指定用户的附加组。●-c:添加用户的注释信息。【例2-1】创建一个名为johndoe的用户,并自动创建其主目录,指定登录Shell为/bin/bash,同时添加注释信息"JohnDoe"。2.2.1添加用户[root@localhost~]#useradd-m-s/bin/bash-c"JohnDoe"johndoe2.2普通用户管理通过以下4种方式验证用户账号的创建结果。1.查看用户信息
使用id命令查看johndoe用户的UID、GID以及所属组信息:2.2.1添加用户[root@localhost~]#idjohndoeuid=1000(johndoe)gid=1000(johndoe)groups=1000(johndoe)2.查看用户主目录
默认情况下,用户的主目录会创建在/home目录下。可以使用ls命令进行查看:[root@localhost~]#ls-ld/home/johndoedrwx------.2johndoejohndoe62Mar2007:42/home/johndoe表示johndoe用户的UID为1000,GID为1000(即johndoe组),并且该用户属于johndoe组。表示/home/johndoe目录存在,且权限设置为只有johndoe用户可以访问。2.2普通用户管理3.查看用户注释信息
用户的注释信息存储在/etc/passwd文件中。可以使用grep命令进行查看:2.2.1添加用户[root@localhost~]#grepjohndoe/etc/passwdjohndoe:x:1000:1000:JohnDoe:/home/johndoe:/bin/bash4.查看用户组信息
要确保johndoe组存在并且johndoe用户属于该组,可以使用grep命令查看/etc/group文件:[root@localhost~]#grepjohndoe/etc/groupjohndoe:x:1000:表示johndoe用户的注释信息为"JohnDoe",登录Shell为/bin/bash,主目录为/home/johndoe。表示johndoe组存在,且johndoe用户是该组的成员。2.2普通用户管理使用passwd命令可以更改用户的密码。passwd命令的基本语法如下:passwd用户名如果省略用户名,则更改当前登录用户的密码。系统会提示用户输入新密码,并确认新密码。【例2-2】为用户johndoe更改密码。2.2.2更改用户密码[root@localhost~]#passwdjohndoeChangingpasswordforuserjohndoe.Newpassword:BADPASSWORD:ThepasswordisapalindromeRetypenewpassword:passwd:allauthenticationtokensupdatedsuccessfully.提示用户为johndoe输入新密码并进行确认。2.2普通用户管理使用usermod命令可以修改用户的各种信息,如用户名、主目录、登录Shell等。该命令的基本语法如下:usermod[选项]用户名常用选项说明如下。●-l:更改用户名。●-d:更改用户的主目录。●-s:更改用户的登录Shell。●-g:更改用户的初始组。●-G:更改用户的附加组。●-c:更改用户的注释信息。【例2-3】将johndoe用户的用户名更改为johnsmith,主目录更改为/home/johnsmith,登录Shell更改为/bin/zsh。2.2.3修改用户信息[root@localhost~]#usermod-ljohnsmith-d/home/johnsmith-s/bin/zshjohndoe2.2普通用户管理使用userdel命令可以删除用户。该命令的基本语法如下:userdel[选项]用户名常用选项说明如下。●-r或--remove:同时删除用户的主目录和邮件池。●-f或--force:强制删除用户,即使用户当前已登录。【例2-4】删除johnsmith用户,并同时删除其主目录和邮件池。2.2.4删除用户[root@localhost~]#userdel-rjohnsmith2.2普通用户管理禁用用户通常意味着禁止用户登录系统。这可以通过多种方式实现,如修改用户的登录Shell为一个不存在的Shell(如/sbin/nologin)或锁定用户的密码。【例2-5】将johnsmith用户的登录Shell更改为/sbin/nologin,从而禁止其登录。2.2.5禁用用户usermod-s/sbin/nologinjohnsmith或锁定johnsmith用户的密码,使其无法登录。[root@localhost~]#passwd-ljohnsmithLockingpasswordforuserjohnsmith.passwd:Success2.2普通用户管理Shell环境配置通常涉及设置环境变量、定义别名、自定义命令提示符以及加载其他配置文件或脚本等。这些配置主要存储在用户主目录下的特定配置文件中,如针对BashShell的.bashrc、.bash_profile文件以及针对ZshShell的.zshrc文件等。不同的Shell使用不同的配置文件来初始化环境。对于BashShell,.bashrc文件通常用于配置交互式非登录Shell的环境,而.bash_profile或.profile文件则用于配置登录Shell的环境;ZshShell主要使用.zshrc文件进行配置。用户应根据所使用的Shell选择相应的配置文件进行编辑。1.编辑配置文件
以Bash用户为例,可以编辑.bashrc文件,命令如下:2.2.6配置用户的Shell环境[root@localhost~]#vi~/.bashrc#(1)设置环境变量exportPATH="$PATH:/home/user/scripts"#(2)定义别名aliasll='ls-l'#(3)加载其他配置文件或脚本if[-f~/.bash_aliases];then.~/.bash_aliasesfi2.2普通用户管理2.保存并应用配置
编辑完成后,保存配置文件并退出编辑器。为了使更改立即生效,可以使用source命令重新加载配置文件:2.2.6配置用户的Shell环境[root@localhost~]#source~/.bashrc2.3用户组管理1添加用户组2修改用户组3删除用户组2.3用户组管理用户组管理指的是管理员将具有相似权限需求的用户归类到同一个组中,从而简化权限管理。用户组管理包括添加用户组、修改用户组和删除用户组等操作。1.添加用户组
使用
groupadd命令来添加新的用户组,可以指定组名、组ID(GroupID,GID)等参数。该命令的基本语法如下:groupadd[选项]组名使用-g或--gid选项可以指定新用户组的GID。如果不指定,系统会自动分配一个未使用的GID。【例2-6】添加一个新用户组developers并指定其GID为1001。[root@localhost~]#groupadd-g1001developers2.3用户组管理2.修改用户组
使用
groupmod命令可以修改现有用户组的属性,如组名或GID。该命令的基本语法如下:groupmod[选项]组名常用选项说明如下。●-n或--new-name:修改用户组的名称。●-g或--gid:修改用户组的GID。【例2-7】修改用户组developers的名称为new_developers,并将其GID更改为2001。[root@localhost~]#groupmod-nnew_developersdevelopers[root@localhost~]#groupmod-g2001new_developers2.3用户组管理3.删除用户组
使用
groupdel命令可以删除不再需要的用户组。该命令的基本语法如下:groupdel[选项]组名删除用户组时,应确保该组中没有用户,否则可能会导致用户权限问题。如果用户组是某个用户的初始组,则无法直接删除该用户组,除非先将用户的初始组更改为其他组。【例2-8】删除用户组new_developers。[root@localhost~]#groupdelnew_developers使用getentgroup命令查看用户组信息,确认用户组是否已被删除:[root@localhost~]#getentgroupnew_developers2.4常见问题和常用命令2.4.1忘记root用户密码2.4.2误删用户账号2.4.3常用的用户管理命令2.4常见问题和常用命令1.问题描述
忘记root用户密码是一个常见的问题,可能导致无法登录系统或执行需要root权限的操作。2.解决方法
单用户模式是一种特殊的系统运行模式。在该模式下,系统仅加载最基本的服务和组件,允许用户以root权限直接登录系统,这为我们重置密码提供了便利。以下是通过单用户模式重置密码的具体步骤。(1)重启系统在计算机开机或重启过程中,当出现GRUB(GNURanelUnifiedBootlader,GNU通用引导加载程序)引导菜单界面时,迅速按下键盘上的任意键,以暂停引导过程。(2)编辑启动项在GRUB引导菜单中,使用方向键选择要启动的RockyLinux系统项(通常是默认的第一个选项),然后按下e键进入编辑模式。2.4.1忘记root用户密码(3)修改内核参数在编辑界面中,找到以“linux16”或“linux”开头的行。这一行包含内核启动的参数信息,在该行的末尾添加“init=/bin/sh”参数,如图
。添加完成后,按下Ctrl+X组合键启动系统。添加该参数的目的是让系统在启动时进入单用户模式,并以“/bin/sh”作为初始进程,从而绕过正常的登录验证过程。2.4常见问题和常用命令(4)挂载根文件系统为可读写模式系统进入单用户模式后,默认根文件系统是只读的,需将其重新挂载为可读写模式,以便修改密码。在命令行中输入以下命令:2.4.1忘记root用户密码mount-oremount,rw/(5)重置密码使用passwd命令来重置密码。例如,如果要重置root用户的密码,可以输入以下命令:passwdroot(6)更新系统信息并重启密码重置完成后,需要更新系统信息并退出单用户模式。在命令行中输入以下命令:touch/.autorelabelexec/sbin/init第1条命令用于标记系统需要重新标记文件上下文(如果系统启用了SELinux);第2条命令用于启动正常的系统初始化进程,使系统退出单用户模式并重新启动。2.4常见问题和常用命令1.问题描述
误删用户账号可能导致用户数据丢失和权限问题,影响用户的正常工作。2.解决方法
①
如果系统有定期备份,可以从备份中恢复用户账号和相关数据。②
如果没有备份,可以尝试手动恢复用户账号(需要知道用户的UID、GID、主目录、Shell等信息),然后使用useradd命令重新创建用户账号,并指定相同的UID和GID。如果用户的主目录被删除,需要手动恢复或重新创建。③
如果用户的数据被删除,且没有备份,可能需要使用数据恢复工具尝试恢复数据。3.预防措施
①
在删除用户账号之前,应确保有备份,并确认不再需要该用户账号。②
考虑使用逻辑删除(如将用户账号标记为禁用)而不是物理删除,以便在需要时可以恢复。2.4.2误删用户账号2.4常见问题和常用命令1.id命令
使用id命令可以显示用户的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 场所健康教育干预实施纲要
- 大型教育会议
- STEM教育体系解读
- 《跨国公司经营与管理》课件 第1章 跨国公司概述
- 2026年中学教师资格考试教育教学知识与能力考试试卷及答案(共九套)
- 厦门市辅警招聘考试题及答案
- 北师大版二年级数学上册第一单元:《练习一》教案:借助综合练习帮助学生巩固100以内加减法落实运算技能训练培养数学表达与思维素养
- 先兆早产住院期间护理
- 数据库性能优化要点分析
- 口腔手术患者术后康复指导
- 2025年7月陕西省普通高中学业水平合格性考试语文试题及答案
- 工商管理硕士就业前景分析
- 2025年申论国考真题试卷及答案
- 工业园区规划方案策划
- 高强度焊接质量检验制度
- GB/T 46410-2025风险管理风险预警
- 本科合格评估学院汇报
- 修眉毛课件教学课件
- 实施指南(2025)《JB-T2599-2012铅酸蓄电池名称、型号编制与命名办法》
- 狂犬病的护理课件
- 小学生脊柱健康知识讲座
评论
0/150
提交评论