Linux用户、用户组与文件权限知识点+习题操作讲解

📅 2026/7/9 5:24:49 👁️ 阅读次数 📝 编程学习
Linux用户、用户组与文件权限知识点+习题操作讲解

一、小结全部知识点梳理

1. Linux权限管控核心逻辑

Linux依靠用户ID(UID)、组ID(GID) 管控文件、目录、硬件设备的访问权限,通过区分不同身份分配读写执行权限,实现资源隔离与共享。

2. 用户与用户组基础操作命令

1)useradd:新建用户账户

基础用法:直接创建用户,可搭配参数指定家目录、UID、所属附加组等;创建后用户信息写入 /etc/passwd ,密码单独存于 /etc/shadow 。

2)groupadd:新建用户组账户

创建自定义用户组,组信息记录在 /etc/group ,可指定GID,用于批量管理一组用户权限。

3)usermod:修改已有用户账户信息

可修改用户名、UID、家目录、登录Shell、附加组、备注信息等,是调整用户属性的核心命令。

4)groupmod:修改用户组信息

支持修改组名、组GID,调整组的基础标识信息。

3. 文件三层权限体系

每一个文件/目录分为三类访问身份,每类身份拥有三类操作权限:

三层身份:文件属主(文件创建/拥有者)、文件属组(归属用户组)、其他用户(系统剩余所有用户)

三类权限:读r、写w、执行x,简写符号 rwx

权限有两种表示方式:符号权限(rwxr-xr--这类字符串)、八进制数字权限(把r=4、w=2、x=1相加组合,比如755、644)。

4. 权限与属主修改命令

1)chmod:修改文件、目录的读写执行权限,支持符号模式(u/g/o/a加减rwx)和八进制数字模式两种修改方式。

2)chown:修改文件/目录的所有者,可单独改属主,也能同时修改属主+属组。

3)chgrp:仅修改文件/目录的所属用户组,功能等价于chown只修改组的简写用法。

5. 共享目录实现原理

要实现多用户共享同一个目录内文件,核心操作:

1)建立公共用户组,把所有需要共享的用户加入该组;

2)修改共享目录的属组为公共组;

3)给属组分配读写执行权限;

4)搭配特殊权限SGID,让目录内新建文件自动继承目录所属组,保证组内成员均可读写文件。

二、7道练习题分步实操讲解(Xshell完整操作流程)

习题1:创建新用户、设置密码,验证/etc/passwd

1. 使用useradd创建自定义用户,例如用户名为testuser;

2. 执行passwd 用户名,输入两次密码完成密码设置;

3. 使用cat /etc/passwd查看文件,在文件末尾能找到以testuser开头的一行,该行存储用户UID、GID、家目录、登录shell等全部基础信息,代表用户创建成功。

习题2:修改/etc/passwd内用户的备注字段并查看

1. usermod搭配-c参数修改用户备注信息,-c后填写自定义备注内容;

2. 再次cat /etc/passwd找到该用户条目,条目中第五段内容就是刚修改的备注文字,核对是否更新。

习题3:groupadd创建专属组员新组

执行groupadd 自定义组名,生成全新用户组;查看/etc/group文件末尾,能看到新建组对应的GID与组名记录。

习题4:usermod将用户加入新建组,再修改组名

1. usermod -aG 新建组名 用户名,-a代表追加、-G代表附加组,把用户添加进目标组;执行id 用户名,可查看用户附属组列表确认添加成功;

2. groupmod -n 新组名 旧组名,修改刚才创建的用户组名称;查看/etc/group,原组名替换为新名称,用户所属组同步更新。

🔺题3和题4截图:

习题5:新用户家目录创建txt文件与目录,查看权限

1. 切换到testuser的家目录cd /home/testuser;

2. touch test.txt生成文本文件,mkdir share_dir创建目录;

3. ls -l 查看两个文件详情,输出开头十位字符就是权限字符串,能区分文件与目录默认权限、属主属组。

习题6:chmod、chown修改目录下全部文件组权限,实现组内共享并查看

1. 使用chown统一修改当前所有文件的属主和属组,把归属组改为之前创建的公共共享组;

2. chmod调整组权限,给属组开放读写执行权限;

3. 可选添加SGID权限,保证后续新建文件自动归属共享组;

4. ls -l核对全部文件的权限、属组字段,切换同组其他用户登录测试,验证可以正常读写文件。

习题7:删除创建的用户

执行userdel 用户名,若需要同步删除用户家目录与邮件数据,添加-r参数;操作后再次查看/etc/passwd,对应用户条目消失。