文件权限
概述
Linux 是一个多用户操作系统,文件权限机制是其安全性的重要基础。每个文件和目录都有一组权限,控制谁可以读取、写入或执行它。
权限基础
查看权限
使用 ls -l 命令查看文件权限:
权限字符串解读
权限类型
三类用户
数字表示法
权限可以用八进制数字表示:
计算权限数字
常见权限组合
修改权限
chmod - 修改权限
符号模式
符号说明
数字模式
常见使用场景
修改所有权
chown - 修改所有者
chgrp - 修改所属组
特殊权限
SUID(Set User ID)
当可执行文件设置了 SUID 位时,该文件将以文件所有者的权限运行,而不是执行者的权限。
安全提示:SUID 文件存在安全风险,应谨慎使用。
SGID(Set Group ID)
- 对文件:以文件所属组的权限运行
- 对目录:目录中创建的文件继承目录的组
Sticky Bit
设置在目录上时,只有文件所有者、目录所有者或 root 才能删除或移动其中的文件。
特殊权限数字
默认权限:umask
umask 决定新创建文件和目录的默认权限。
理解 umask
设置 umask
常见 umask 值
访问控制列表(ACL)
ACL 提供比传统权限更细粒度的访问控制。
查看 ACL
设置 ACL
ACL 示例
文件属性
lsattr - 查看属性
chattr - 修改属性
常用属性
权限实践
网站目录权限
SSH 密钥权限
共享目录
脚本文件
排查权限问题
检查清单
常见问题
-
无法执行脚本
-
Permission denied 访问目录
-
无法删除文件
-
SSH 密钥不工作
小结
本章介绍了 Linux 文件权限的核心概念:
- 基本权限:读(r)、写(w)、执行(x)
- 三类用户:所有者、组、其他
- 权限表示:符号(rwx)和数字(755)
- 修改权限:
chmod、chown、chgrp - 特殊权限:SUID、SGID、Sticky Bit
- 默认权限:umask
- 高级控制:ACL
正确设置文件权限是系统安全的重要组成部分。在日常使用中,遵循最小权限原则——只赋予必要的权限。
上一章:文件基本操作
下一章:文件查找