Linux文件权限基础
-
权限组成
- 用户类别:
- 所有者(Owner):文件创建者/拥有者
- 所属组(Group):共享文件的用户组
- 其他用户(Others):系统所有其他账户
- 权限类型:
- 读(r):查看文件内容
- 写(w):修改或删除文件
- 执行(x):运行程序或进入目录
- 用户类别:
-
权限表示法
- 符号模式:如
rwxr-xr--
- 数字模式:如
755
(r=4, w=2, x=1,三者相加)
- 符号模式:如
查看文件权限的两种方法
方法1:使用 ls -l
命令(最常用)
步骤:
-
打开终端,输入:
ls -l 文件名 # 查看单个文件 ls -ld 目录名 # 查看目录本身(而非内容) ls -l # 查看当前目录所有文件权限
-
解读输出:
-rwxr-xr-- 1 user group 1024 Jan 1 10:00 example.txt ↑__________ ↑ ↑ ↑ 权限字段 所有者 所属组 文件大小/修改时间
- 权限字段分解(10个字符):
- 第1位:文件类型(=普通文件,
d
=目录,l
=链接) - 第2-4位:所有者权限(如
rwx
) - 第5-7位:所属组权限(如
r-x
) - 第8-10位:其他用户权限(如
r--
)
- 第1位:文件类型(=普通文件,
示例:
-rwxr-xr--
→ 所有者可读/写/执行,组可读/执行,其他用户仅可读。drwxr-x---
→ 目录权限,所有者可进入和修改,组可进入,其他用户无权限。
- 权限字段分解(10个字符):
方法2:使用 stat
命令(查看详细信息)
stat 文件名
输出关键字段:
Access: (0644/-rw-r--r--) # 权限(数字/符号形式) Uid: (1000/user) # 所有者ID及名称 Gid: (1000/group) # 组ID及名称
特殊权限与隐藏文件
-
特殊权限标识:
- SUID(
s
):出现在所有者执行位(如-rwsr-xr-x
),允许临时获取所有者权限。 - SGID(
s
):出现在组执行位(如-rwxr-sr-x
),继承目录的组权限。 - 粘滞位(
t
):出现在其他用户执行位(如drwxrwxrwt
),仅文件所有者可删除目录内文件(常见于/tmp
)。
- SUID(
-
查看隐藏文件权限:
ls -la # 显示包括`.`开头的隐藏文件
权限管理注意事项
-
目录权限的特殊性:
- 目录的执行权限(x) = 进入目录(无此权限则无法
cd
或ls
)。 - 目录的读权限(r) = 查看目录内容列表(需配合
x
生效)。
- 目录的执行权限(x) = 进入目录(无此权限则无法
-
权限修改工具(简要提及):
chmod
:修改权限(如chmod 755 file
)chown
:修改所有者(如chown user:group file
)
为什么正确查看权限至关重要?
- 安全防护:避免敏感文件(如
/etc/passwd
)被未授权用户修改。 - 故障排查:程序无法执行或访问失败时,权限检查是首要步骤。
- 合规要求:满足企业安全策略(如仅授权用户访问关键数据)。
最佳实践:定期使用
ls -l
检查关键目录(如/etc/
、/var/log/
)权限,确保无全局可写(rwxrwxrwx
)等高危设置。
引用说明: 基于Linux核心文档(The Linux Documentation Project)及权限管理标准(IEEE Std 1003.1),操作验证环境:Ubuntu 22.04、CentOS 7。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4331.html