Linux文件权限通过ls -l查看,首字符为类型,后9位分三组对应所有者、所属组、其他用户的读(r=4)、写(w=2)、执行(x=1)权限,可转为三位八进制数如644,且权限修改需明确u/g/o身份。

Linux文件权限直接用 ls -l 就能看清,关键是要理解输出里每一段代表什么、数字和字母怎么对应、谁有啥权限——搞懂这三点,看权限就不再发蒙。
一、用 ls -l 看原始权限信息
在终端输入:
ls -l filename(查看单个文件)
或
ls -l(查看当前目录所有文件的详细信息)
你会看到类似这样的输出:
-rw-r--r-- 1 user group 1024 Jan 1 12:34 myfile.txt
其中最前面的 -rw-r--r-- 就是权限字段,共10个字符,拆解如下:
- 第1位:文件类型(- 表示普通文件,d 表示目录,l 表示软链接)
- 第2–4位:rw- —— 文件所有者(user)的权限(可读、可写、不可执行)
- 第5–7位:r-- —— 所属组(group)成员的权限(仅可读)
- 第8–10位:r-- —— 其他用户(others)的权限(仅可读)
二、权限字母和数字怎么换算
权限可以用字母(符号)表示,也能用三位八进制数字(如 644)表示,两者一一对应:
- r = 4,w = 2,x = 1;无权限 = 0
- 每组三位加起来:比如 rw- → 4+2+0 = 6,r-x → 4+0+1 = 5
- 所以 rw-r--r-- 对应数字权限就是 644
- 常见组合:755(所有者全权,组和其他可读可执行)、600(仅所有者可读写)
三、谁的权限?三个身份必须分清
Linux权限永远围绕三个身份展开,顺序固定且不可颠倒:
- User(u):文件创建者,或用 chown 改过的拥有者
- Group(g):文件所属的用户组,组内所有成员共享这一组权限
- Others(o):既不是拥有者、也不在所属组里的所有人
改权限常用命令:chmod u+x script.sh(给所有者加执行权),chmod 750 doc/(目录设为所有者全权、组可读可执行、其他人无权)。
四、几个实用判断技巧
不用死记,掌握这几个小规律,扫一眼就能心里有数:
- 以 d 开头?那是目录,能否进入要看它有没有 x 权限(没 x 就 cd 不进去)
- 文件有 x 但没 r?能执行但看不到内容(比如加密脚本)
- 权限末尾带 @(如 -rw-r--r---@)?说明有扩展属性(如 ACL 或 macOS 元数据),可用 ls -le 查看
- 权限出现 s 或 t(如 rwsr-xr-x)?涉及 setuid/setgid/sticky bit,属于进阶控制,日常少见但需留意
基本上就这些。权限看着密密麻麻,其实结构固定、规则清晰——多看两次 ls -l,对照着改几个 chmod,自然就熟了。










