Linux文件权限由三组角色(所有者、所属组、其他人)与三类操作(读、写、执行)组合构成,权限字符串如-rw-r--r--共10位,分别表示文件类型及各角色权限;数字权限以八进制表示,4=r、2=w、1=x,如644表示所有者可读写、其余只读;chmod 777存在安全风险;chown/chgrp用于修改归属而非权限;umask决定新建文件默认权限,不影响已有文件;核心原则是最小必要权限。

Linux文件权限不是一串乱码,而是一套有规律的标记系统。看懂它,关键在理解三组角色(所有者、所属组、其他人)和三类操作(读、写、执行)的组合逻辑,而不是死记数字或符号。
权限字符串怎么读:从左到右拆解
运行 ls -l 看到类似 -rw-r--r-- 的字符串,共10位:
- 第1位是文件类型:- 表示普通文件,d 是目录,l 是软链接
- 第2–4位是所有者(user)权限:rw- = 可读可写,不可执行
- 第5–7位是所属组(group)权限:r-- = 仅可读
- 第8–10位是其他人(others)权限:r-- = 仅可读
注意:执行权限(x)对文件和目录意义不同。对文件,表示“能运行它”;对目录,表示“能进入该目录(cd)”,没有x,即使有r也列不出内容(ls会报Permission denied)。
数字权限(八进制)不是随便加的
4=r,2=w,1=x,三者可相加,但只在对应位置上累加。比如 rwx = 4+2+1 = 7,r-x = 4+0+1 = 5。
- 755 = rwxr-xr-x → 所有者全权,组和其他人可读可执行(常见于程序目录)
- 644 = rw-r--r-- → 所有者可读写,组和其他人只读(常见于配置文件)
- 600 = rw------- → 仅所有者可读写(如私钥文件 ~/.ssh/id_rsa)
误区:以为 chmod 777 就是“最安全”或“最方便”——实际是最大风险,给所有人执行权可能被恶意调用,尤其对脚本或敏感目录。
chown 和 chgrp 容易混淆的点
改变归属 ≠ 改变权限。chown 控制“谁拥有这个文件”,chgrp 控制“属于哪个组”,两者独立生效。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~