Linux 中常见的安全与权限机制主要包括以下几类,从文件系统权限到系统级访问控制,构建了多层次的安全保障体系。
🔐 一、文件权限与用户管理
1. 基本权限(rwx)
r
(read):读取文件内容或目录列表w
(write):修改文件内容或目录结构x
(execute):执行文件或进入目录
ls -l 文件名
chmod +x 脚本.sh # 添加执行权限
chown 用户:组 文件名 # 修改所属用户/组
2. 权限三类对象
- 用户(User)
- 用户组(Group)
- 其他人(Other)
例:-rwxr-xr--
- 用户:rwx
- 用户组:r-x
- 其他人:r–
3. 权限命令
命令 | 说明 |
---|---|
chmod |
修改权限 |
chown |
修改文件属主属组 |
umask |
设置默认权限掩码 |
ls -l |
查看权限 |
🧑💻 二、用户、用户组管理
useradd / userdel / usermod
:添加、删除或修改用户groupadd / groupdel / groupmod
:管理用户组passwd
:设置用户密码/etc/passwd
、/etc/group
、/etc/shadow
:用户组和加密信息配置文件
🔒 三、特殊权限位(Sticky、SUID、SGID)
权限 | 作用 | 示例 |
---|---|---|
SUID | 以文件属主身份执行 | /usr/bin/passwd |
SGID | 以文件属组身份执行或共享组 | 共享开发目录 |
Sticky | 防止其他用户删除文件 | /tmp 目录 |
示例:
chmod u+s a.out # 设置 SUID
chmod g+s sharedir # 设置 SGID
chmod +t /tmp # 设置 Sticky bit
🧱 四、系统安全机制
1. 防火墙(iptables / firewalld / nftables)
- 控制入站/出站流量
- 管理端口访问权限
2. SELinux(Security Enhanced Linux)
- 提供基于策略的强制访问控制(MAC)
- 控制进程对资源的访问,即使 root 也可能被限制
getenforce # 查看状态
setenforce 0 # 临时关闭
3. AppArmor(Ubuntu 常见)
- 类似 SELinux 的 MAC 机制
- 通过配置文件限制进程权限
🧪 五、sudo 权限控制
通过配置 /etc/sudoers
控制用户是否可执行特权命令(如 root)
sudo visudo # 编辑 sudo 配置
🔍 六、系统登录和认证机制
- SSH Key 登录:推荐使用密钥而非密码登录
- PAM(Pluggable Authentication Modules):可插拔认证模块框架
- fail2ban:防止暴力破解(自动封 IP)
📊 七、日志审计与命令历史
/var/log/secure
:安全相关日志(CentOS)/var/log/auth.log
:登录认证日志(Ubuntu).bash_history
:记录用户命令(可设置审计增强)
📋 八、进程与服务限制
ulimit
:限制用户资源使用(内存、进程数)systemd
的PrivateTmp
、ProtectSystem
限制服务访问系统目录cgroups
:限制资源(CPU、内存)
总结表格
类型 | 机制 | 功能 |
---|---|---|
文件权限 | rwx、chmod、umask | 控制文件访问 |
用户管理 | passwd、group、sudo | 控制系统访问 |
特殊权限 | SUID、SGID、Sticky | 控制执行行为 |
系统安全 | SELinux、AppArmor、iptables | 高级访问控制 |
认证机制 | SSH Key、PAM、sudo | 提高认证安全 |
审计机制 | 日志、history、fail2ban | 安全追踪与防护 |
资源控制 | ulimit、cgroups、systemd | 限制系统滥用 |