linux文件权限是 10 位 字符串,第 1 位表类型,2–4、5–7、8–10 位分别表示属主、属组、其他用户的 rwx 权限;数字权限按 r =4、w=2、x= 1 换算;另有 SUID、SGID 和粘滞位等特殊权限。

Linux 文件权限不是一串乱码,而是一套有规律的标记系统。看懂它,关键在理解三组角色、三类操作和一个特殊位。
权限字符串的结构拆解
执行 ls -l 命令时,最左边一列如 -rwxr-xr– 就是权限字符串,共 10 个字符:
- 第 1 位:文件类型(–普通文件、d目录、l软链接等)
- 第 2–4 位:属主(user)权限 —— 比如 rwx 表示可读、可写、可执行
- 第 5–7 位:属组(group)权限 —— 比如 r-x 表示可读、不可写、可执行
- 第 8–10 位:其他用户(others)权限 —— 比如 r– 表示只可读
读、写、执行到底意味着什么
权限含义取决于文件类型,不能死记硬背:
- 对普通文件:
● r = 能查看内容(cat、less)
● w = 能修改内容(echo、vim)
● x = 能当作程序运行(./script.sh) - 对目录:
● r = 能列出目录内文件(ls)
● w = 能创建 / 删除 / 重命名该目录下的文件(需配合 x)
● x = 能进入该目录(cd),也是访问其下文件的前提
数字权限(八进制)怎么算出来的
每组权限(rwx)对应一个 0–7 的数字,本质是二进制加权和:
- r = 4,w = 2,x = 1;不具有某权限就为 0
- rwx → 4+2+1 = 7;r-x → 4+0+1 = 5;r– → 4+0+0 = 4
- 所以 rwxr-xr– 对应数字权限就是 754
别忽略那个“隐藏位”:粘滞位、SUID、SGID
权限字符串开头若出现 s 或 t(如 -rwsr-xr-t),说明启用了特殊权限:
- 属主位出现 s(如 rws)→ SUID:执行时临时获得文件属主身份(常用于 passwd)
- 属组位出现 s(如 r-s)→ SGID:执行时临时获得文件属组身份;对目录则让新文件自动 继承 父目录属组
- 其他位出现 t(如 r-t)→ 粘滞位(sticky bit):仅对目录有效,如 /tmp,保证用户只能删自己创建的文件
基本上就这些。权限不是背出来的,是用几次 ls -l + chmod 就自然记住的逻辑。