一、Linux 安全基础:用户账户体系
1. 核心原理
Linux 安全依托 UID/GID 管控资源访问,root 管理员 UID 固定为 0;系统账户 UID<500,普通用户 UID≥500。
2. 用户信息文件
- /etc/passwd(所有人可读) 格式:用户名:x:UID:GID: 备注:家目录:登录 shell x 代表密码加密存储于 shadow,不存明文。
- /etc/shadow(仅 root 可读) 9 段字段:用户名、加密密码、密码修改天数、最小改密间隔、密码有效期、过期提醒天数、过期禁用天数、账户过期日期、预留。
3. 用户管理命令
(1)创建用户 useradd
useradd -m 用户名:自动创建家目录,复制 /etc/skel 模板文件(.bashrc 等环境配置)useradd -D:查看新建用户默认配置;useradd -D 参数修改全局默认值- 常用参数:-c 备注、-d 指定家目录、-e 账户过期、-g 默认组、-G 附加组、-s 指定 shell、-u 自定义 UID、-r 创建系统账户 Ubuntu 推荐
adduser替代原生 useradd。
(2)删除用户 userdel
- 默认仅删 passwd/shadow 用户记录,保留家目录文件
userdel -r 用户名:删除用户 + 家目录 + 邮件目录(删除前确认无重要文件)
(3)修改用户信息
usermod:改用户名 (-l)、锁定 (-L)/ 解锁 (-U)、修改组、过期时间、备注等passwd:改密码;passwd -e 用户强制下次登录改密chpasswd:批量设置密码,支持文件重定向导入chsh:修改登录 shell(需写完整路径如 /bin/dash)chfn:修改 passwd 备注字段(姓名、电话等)chage:管理账户密码有效期、过期时间
二、Linux 用户组管理
1. /etc/group 文件(4 字段)
组名:组密码:GID: 组内附加用户列表
2. 组操作命令
groupadd 组名:新建用户组groupmod -g 新GID修改 GID;groupmod -n 新组名修改组名groupdel 组名:删除空组usermod -g 组:替换用户默认主组;usermod -G 组:追加附加组
三、Linux 文件权限
1. 查看权限 ls -l
权限字符串结构:类型+属主权限+属组权限+其他用户权限
- 首位文件类型:- 普通文件、d 目录、l 软链接、c 字符设备、b 块设备
- 三段权限:u (属主)、g (属组)、o (其他),每段 r 读、w 写、x 执行、- 无权限
2. chmod 修改权限(两种模式)
(1)八进制模式(数字权限)
r=4、w=2、x=1,三段数字分别对应 u/g/o 例:chmod 644 test.txt(rw-r--r--);chmod -R 755 ./dir递归修改目录权限
(2)符号模式
格式:[ugoa][+-=][rwxXst]u/g/o/a:用户 / 组 / 其他 / 全部;+ 增加、- 移除、= 直接设置权限 例:chmod u-x 123.sh移除属主执行权限
3. 修改文件归属
chown 属主[.属组] 文件:修改所有者 / 所属组,-R 递归;仅 root 可改属主chgrp 组名 文件:仅修改文件属组
四、核心小结
- 用户:UID/GID 标识身份,passwd 存基础信息,shadow 存加密密码;useradd/userdel/usermod 管理用户
- 组:groupadd/groupmod/groupdel 管理组,usermod 分配用户附属组
- 文件权限:三层权限 u/g/o,rwx 对应 4/2/1 八进制;chmod 改权限,chown/chgrp 改归属
练习1
1.
lxyu:x:1000:1000:lxyu:/home/lxyu:/bin/
lxyu→ 用户名x→ 密码占位符(真实密码在/etc/shadow)1000→ 用户 ID(UID)1000→ 组 ID(GID)lxyu→ 用户备注信息/home/lxyu→ 用户家目录/bin/bash→ 登录 Shell
2.
3.
文件名 作用
.bash_logout 退出登录 Shell 时自动执行的脚本,用于清理会话环境
.bashrc 交互式 Bash 环境配置文件,定义别名、环境变量、命令提示符等
.profile 登录 Shell 时加载的配置文件,用于设置全局环境变量
4.
练习2
练习3
练习4
| 字段位置 | 示例内容 | 含义 |
|---|---|---|
| 第 1 段 | - | 文件类型:-普通文件、d目录、l软链接 |
| 第 2 段 | rw-r--r-- | 9 位权限位:分 3 组,属主权限 (前 3 位)、属组权限 (中间 3 位)、其他用户权限 (后 3 位),r读、w写、x执行 |
| 第 3 段 | 1 | 硬链接计数 |
| 第 4 段 | root | 文件属主(所有者用户名) |
| 第 5 段 | root | 文件属组(所属用户组) |
| 第 6 段 | 0 | 文件大小(字节) |
| 第 7-8 段 | Aug 20 10:00 | 文件最后修改时间 |
| 第 9 段 | test.txt | 文件名 |