概述
Linux 是多用户操作系统,通过用户和权限机制来保护系统安全。理解用户、组和权限的概念是系统管理的基础。用户类型
| 类型 | UID 范围 | 说明 |
|---|---|---|
| root | 0 | 超级管理员,拥有最高权限 |
| 系统用户 | 1-999 | 系统服务使用的用户 |
| 普通用户 | 1000+ | 一般登录用户 |
用户管理
查看用户信息
useradd - 创建用户
usermod - 修改用户
userdel - 删除用户
passwd - 管理密码
组管理
查看组信息
groupadd - 创建组
groupmod - 修改组
groupdel - 删除组
gpasswd - 组成员管理
权限管理
权限类型
| 权限 | 字母 | 数字 | 对文件的含义 | 对目录的含义 |
|---|---|---|---|---|
| 读 | r | 4 | 读取内容 | 列出目录内容 |
| 写 | w | 2 | 修改内容 | 创建/删除文件 |
| 执行 | x | 1 | 执行文件 | 进入目录 |
权限表示
chmod - 修改权限
符号模式:| 权限 | 说明 |
|---|---|
| 755 | 目录/可执行文件 |
| 644 | 普通文件 |
| 600 | 私密文件(如密钥) |
| 700 | 私密目录 |
chown - 修改所有者
chgrp - 修改所属组
特殊权限
SUID(Set User ID)
文件执行时以所有者身份运行。SGID(Set Group ID)
- 文件:执行时以组身份运行
- 目录:新建文件继承目录的组
Sticky Bit
目录中的文件只能由所有者删除。默认权限
umask
umask 决定新建文件/目录的默认权限。sudo 权限
配置 sudo
使用 sudo
切换用户
su - 切换用户
区别
| 命令 | 说明 |
|---|---|
| su | 只切换用户 |
| su - | 切换用户并加载环境 |
| sudo | 以其他用户身份执行命令 |
| sudo -i | 切换到 root 并加载环境 |
ACL(访问控制列表)
ACL 提供更细粒度的权限控制。常用命令总结
| 命令 | 功能 | 常用选项 |
|---|---|---|
| useradd | 创建用户 | -m, -s, -G |
| usermod | 修改用户 | -aG, -L, -U |
| userdel | 删除用户 | -r |
| passwd | 修改密码 | -l, -u |
| groupadd | 创建组 | -g |
| chmod | 修改权限 | -R |
| chown | 修改所有者 | -R |
| su | 切换用户 | - |
| sudo | 提权执行 | -i, -u |
- 遵循最小权限原则
- 避免直接使用 root 登录
- 敏感文件权限设为 600
- 可执行文件权限设为 755
- 使用 sudo 代替 su