linux文件权限由三组角色(所有者、所属组、其他人)和三类操作(读、写、执行)组合构成,通过ls -l查看,chmod/chown/umask修改,需遵循最小权限原则。

Linux文件权限看懂不难,关键在理解三组角色(所有者、所属组、其他人)和三类操作(读、写、执行)的组合逻辑。直接用 ls -l 就能看清,但真正用好得知道怎么看、怎么改、为什么这么设。
一、一眼看懂 ls -l 输出的权限字段
运行 ls -l filename,最左边一列如 -rw-r--r-- 或 drwxr-xr-x 就是权限信息:
- 第1位表示文件类型:
-是普通文件,d是目录,l是软链接 - 第2–4位是所有者(user)权限:
rw-表示可读可写,不可执行 - 第5–7位是所属组(group)权限:
r--表示仅可读 - 第8–10位是其他人(others)权限:
r--同样仅可读
数字表示法(如 644)更紧凑:每组用八进制数表示(r=4, w=2, x=1),rw-r--r-- → 644,rwxr-xr-x → 755。
二、哪些权限组合最常用?记住这四个典型场景
不必死记所有组合,掌握高频用例就能覆盖大多数需求:
- 普通文件(如配置、日志):
644(-rw-r--r--)——所有者可改,组和其他人只读 - 可执行脚本或程序:
755(-rwxr-xr-x)——所有者全权,组和其他人可执行但不可改 - 私有配置文件(如 ~/.ssh/config):
600(-rw-------)——仅所有者可读写,严防泄露 - 协作目录(如 /var/www/html):
775(drwxrwxr-x)+ 设置 SGID(chmod g+s),确保新文件自动继承组归属
三、修改权限要谨慎:chown、chmod、umask 三者分工明确
别一上来就 chmod 777——那是安全隐患的快捷入口。
-
chmod改权限位:支持符号法(chmod u+x script.sh)或数字法(chmod 644 file) -
chown改归属:如chown user:group file,注意冒号前后不能有空格 -
umask控制新建文件默认权限:终端输入umask查当前值(如002→ 新建文件默认664,目录775);临时调整用umask 022,永久设置加到~/.bashrc
四、排查权限问题的实用技巧
遇到“Permission denied”别慌,按顺序检查这几层:
- 目标文件本身权限是否允许当前操作(如执行脚本需
x,写入需w) - 所在目录是否有执行(
x)权限——Linux 中进入目录、列出内容都依赖目录的x权限 - 用户是否属于对应组(用
groups或id命令确认) - 是否受 SELinux/appArmor 等安全模块限制(
ls -Z查上下文,ausearch -m avc -ts recent查拒绝日志)
基本上就这些。权限不是越开放越方便,而是刚好够用又不越界。多练几次 ls -l 和 chmod,自然就熟了。