一、Linux 用户体系核心文件基础练习
练习 1:查看 /etc/passwd 并解析用户字段
操作步骤
1、执行查看命令
cat /etc/passwd # 筛选普通用户便于观察 grep "^[a-z0-9]" /etc/passwd | grep -v root2、选取一条示例记录:root:x:0:0:root:/root:/bin/bash
3、7 个字段依次解析
| 序号 | 字段值 | 字段名 | 详细释义 |
|---|---|---|---|
| 1 | root | 登录用户名 | Linux 唯一超级管理员账号,拥有系统全部最高权限 |
| 2 | x | 密码占位符 | 代表加密后的密码不在此文件,存放于加密文件/etc/shadow,普通用户无读取权限 |
| 3 | 0 | UID 用户 ID | UID=0 是系统规定的管理员标识,全系统仅有 root 拥有该 ID |
| 4 | 0 | GID 主组 ID | 用户默认归属组 ID,对应/etc/group中的 root 组 |
| 5 | root | 注释信息 | 自定义备注,可填写姓名、用途、联系方式,此处标注账号身份 |
| 6 | /root | 用户家目录 | root 登录后默认工作目录,独立于普通用户的 /home 目录 |
| 7 | /bin/bash | 登录 Shell | 交互式终端解释器,支持登录、执行命令,属于可登录账号 |
练习 2:查看 /etc/shadow 解析密码字段
操作步骤
1、仅 root 可读取 shadow,切换 root 执行
su root # 查看文件 cat /etc/shadow # 筛选指定用户 grep xxq /etc/shadow2、示例记录:xxq:$6$1BdjvkxBAvlsb0T54P0HDUoVjT1lQnurFNs7t8vn30GESqLSfXoXeNoip9qg2fUE.pDg1E.nXaLT5qDI6zHA/bvWBYulcc0l0N3Vu.:20633:0:99999:7:::
3、9 个字段解析
| 字段序号 | 字段内容 | 字段名称 | 详细释义 |
|---|---|---|---|
| 1 | xxq | 登录用户名 | 系统登录账号,与/etc/passwd首字段一一对应 |
| 2 | $6$1BdjvkxBAvlsb0T54P0HDUoVjT1lQnurFNs7t8vn30GESqLSfXoXeNoip9qg2fUE.pDg1E.nXaLT5qDI6zHA/bvWBYulcc0l0N3Vu. | 加密密码哈希 | $6$代表 SHA-512 加密算法;中间随机串为盐值,后半段是密码加密结果;存在哈希串代表账号可正常登录 |
| 3 | 20633 | 上次修改密码纪元天数 | 从 1970-01-01 到上次修改密码的总天数 |
| 4 | 0 | 密码最小修改间隔 | 修改密码后,无等待限制,可随时再次修改密码 |
| 5 | 99999 | 密码最大有效期 | 99999 天后方过期,等效密码长期有效 |
| 6 | 7 | 过期提醒天数 | 密码到期前 7 天,登录终端会弹出修改密码提示 |
| 7 | 空 | 密码过期宽限天数 | 密码过期后无缓冲登录时间,过期直接锁定账号 |
| 8 | 空 | 账号强制过期日期 | 无设定强制失效日期,账号永久可用 |
| 9 | 空 | 预留扩展字段 | 系统预留,暂未启用任何功能 |
练习 3:查看 /etc/skel 目录并解释文件作用
操作步骤
1、查看骨架目录完整内容
ls -al /etc/skel2、目录内文件说明
(1).bash_logout
- 触发时机:关闭终端、执行 logout 退出登录时自动运行
- 作用:存放退出终端需要执行的指令
- 常用场景:清理临时缓存、清空历史命令、打印退出提示、关闭后台临时程序
- 示例:默认内置清理屏幕、清除临时会话的基础脚本
(2).bashrc
- 触发时机:打开交互式 bash 终端(新开命令行窗口)立刻加载
- 核心作用:自定义终端个性化配置
- 可配置内容:
- 自定义命令别名(如
ll='ls -l') - 自定义终端提示符样式、颜色
- 自定义脚本函数、环境变量
- 软件程序路径补充
- 自定义命令别名(如
- 特点:每次打开新终端都会生效,是日常最常用的配置文件
(3).profile
- 触发时机:用户首次登录系统(登录 shell)仅加载一次
- 核心作用:配置全局登录环境变量
- 内置逻辑:系统默认会自动读取执行同目录下的
.bashrc,统一加载终端配置 - 常用场景:设置 PATH 路径、全局环境变量、开机自启脚本
练习 4:使用 -m 参数新建用户,检查家目录
操作步骤
1、root 执行创建用户(-m 自动生成 HOME 目录并复制 skel 文件)
useradd -m ys2、查看 /home 目录确认文件夹生成
ls /home # 输出可见ys文件夹3、进入用户家目录验证骨架文件
ls -al /home/ys # 可看到.bashrc、.bash_logout等skel模板文件二、useradd 自定义参数进阶练习
练习 1:新建用户,自定义家目录缩写、默认 shell 为 dash
需求:用户名 test,家目录/home/t,登录 shell/bin/dash
完整命令
useradd -m -d /home/t -s /bin/dash test参数说明:
-m:创建家目录-d /home/t:指定自定义家目录-s /bin/dash:指定登录 shell 全路径
验证配置
grep test /etc/passwd # 末尾字段应为 /bin/dash,第6字段为 /home/t练习 2:修改 useradd 全局默认 shell 为 dash(所有新用户生效)
操作命令
# 修改useradd默认配置 useradd -D -s /bin/dash # 查看默认参数确认修改 useradd -D执行后SHELL=/bin/dash,后续不加 - s 新建用户默认使用 dash。
三、用户管理综合练习(创建→修改→设置有效期→删除)
1. 创建新用户
useradd -m stu # 设置登录密码 passwd stu2. 修改用户信息(用户名、密码、shell、备注)
(1)修改登录用户名 stu → student
usermod -l student stu(2)修改默认 shell 为 /bin/bash
chsh -s /bin/bash student(3)修改备注信息(姓名、工位、电话)
chfn student # 按提示输入:Full Name、Room Number、Work Phone等(4)重置密码,强制下次登录改密
passwd student passwd -e student3. 设置用户账户有效期(2026-12-31 过期)
chage -E 2026-12-31 student # 查看有效期配置 chage -l student4. 删除用户(连带家目录彻底清理)
# -r 删除用户、家目录、邮件缓存 userdel -r student ls /home # 无student文件夹即删除成功四、Linux 用户组实操练习
1. 创建新组 shared
groupadd shared # 查看组文件验证 tail /etc/group2. 将用户添加至附属组 shared
# -G 添加附属组,不覆盖原有默认组 usermod -G shared test # 查看用户所属组 grep test /etc/group # 输出末尾可见test用户3. 修改组名、修改 GID
# 修改GID为10001 groupmod -g 10001 shared # 修改组名shared → team groupmod -n team shared # 验证 tail /etc/group4. 删除测试组
groupdel team # 确认删除无输出 grep team /etc/group五、文件权限综合实操练习
练习 1:ls -l 输出全字段解析
1、执行查看文件权限
touch test.txt ls -l test.txt2、逐字段拆解
-rw-r--r--:权限位,首字符-普通文件;后 9 位分属主 / 属组 / 其他用户 rwx1:硬链接计数root:文件属主用户名root:文件属组组名0:文件大小(字节)7月 7 14:34:文件最后修改时间test.txt:文件名
练习 2:八进制模式、符号模式修改文件权限
文件:test.txt,需求:属主读写执行,组可读执行,其他仅可读
方式 1:八进制权限(rwx 对应 4/2/1)
- 属主 rwx = 7
- 属组 r-x = 5
- 其他 r-- = 4
- 权限数字:754
chmod 754 test.txt ls -l test.txt # 权限显示 -rwxr-xr--方式 2:符号模式修改权限
# 清空原有权限,重新赋值 chmod u=rwx,g=rx,o=r test.txt # 追加权限示例:给其他用户增加执行权限 chmod o+x test.txt # 移除属组写入权限 chmod g-w test.txt练习 3:chown 修改文件属主 + 属组
将 test.txt 归属修改为用户 test、组 shared
chown test.shared test.txt ls -l test.txt练习 4:chgrp 单独修改文件属组
# 仅修改所属组为team chgrp team test.txt # 递归目录 chgrp -R team ./testdir ls -l test.txt六、笔记
1、用户管理文件
(1)/etc/passwd:公开基础用户信息,7 字段;
(2)/etc/shadow:加密密码文件,仅 root 可读,9 字段;
(3)/etc/skel:用户环境模板目录,新建用户自动复制。
2、用户核心命令
(1)创建:useradd -m;删除:userdel -r;修改:usermod;
(2)密码:passwd/chpasswd;shell:chsh;账户时效:chage;备注:chfn。
3、用户组核心命令
(1)创建groupadd、修改groupmod、删除groupdel;
(2)usermod -G追加附属组,usermod -g修改默认主组。
3、文件权限三大命令
(1)chmod修改读写执行权限(八进制 / 符号两种写法);
(2)chown修改文件属主、属组;
(3)chgrp单独修改文件属组;
(4)权限三段:属主 (u)、属组 (g)、其他 (o),r=4 w=2 x=1。
4、注意事项
(1)用户、组创建删除、修改文件属主操作均需要 root 权限;
(2)删除用户加-r参数前务必确认家目录无重要数据;
(3)目录必须具备 x 权限才能进入浏览内部文件,仅 r 权限无法读取目录内容;
(4)-R递归参数慎用,避免批量修改系统目录权限引发故障。