Linux权限管理核心是看清、理解、改对权限:用ls -l解析10字符权限串,区分文件/目录rwx不同含义,通过chmod数字法(如644)或字符法(如u+x)修改,且属主权限优先于属组和其他人。

Linux 文件和目录的基本权限管理,核心就三件事:看清权限、理解含义、改对位置。不是靠死记数字,而是搞懂“谁在什么场景下能做什么”。
怎么看权限?用 ls -l 拆解字符串
运行 ls -l filename,看到类似这样的输出:
-rw-r--r-- 1 user group 1234 Jul 29 05:00 myfile.txt
重点看开头的 10 个字符:-rw-r--r--
- 第 1 位是文件类型:
-表示普通文件,d表示目录,l表示软链接 - 第 2–4 位是所有者(user)权限:
rw-→ 可读可写,不可执行 - 第 5–7 位是所属组(group)权限:
r--→ 只读 - 第 8–10 位是其他用户(other)权限:
r--→ 只读
文件和目录的 rwx 含义完全不同
这是最容易出错的地方——同一字母,在文件和目录上作用完全不一样:
-
对普通文件:
•r:能cat、less查看内容
•w:能修改、覆盖、追加内容(如echo >或vim)
•x:能当作程序或脚本运行(注意:.sh类脚本必须同时有r和x才能执行) -
对目录:
•r:能ls列出文件名,但不能进、不能看详情
•x:能cd进入、能访问目录内文件(没有它,其余权限都白搭)
•w:能新建、删除、重命名目录里的文件——但必须配合x才生效;单独有w没用
关键提醒:删除一个文件,看的是它所在目录的 wx 权限,跟文件自身的权限无关。
怎么改权限?两种常用方式
① 数字法(推荐初学者掌握)
三位八进制数,分别对应 user/group/other,每位用 4(r)、2(w)、1(x)相加:
-
chmod 644 myfile.txt→ 所有者读写,组和其他人只读 -
chmod 755 mydir/→ 所有者全权,组和其他人可读可进(适合网站根目录) -
chmod 600 secret.key→ 仅所有者可读写(私钥等敏感文件)
② 字符法(更灵活,适合微调)
语法:chmod [u/g/o/a][+/-/=][r/w/x] 文件名
-
chmod u+x script.sh→ 给所有者加执行权限 -
chmod go-w config.conf→ 移除组和其他人的写权限 -
chmod a=r myfile→ 所有人只能读(等价于 444)
权限优先级:属主 > 属组 > 其他
如果一个用户既是文件所有者,又属于该文件的所属组,系统只认所有者权限,组权限自动忽略。不会叠加,也不合并,匹配即停。
比如用户 alice 创建了文件,属组为 devs,而 alice 本身也在 devs 组里——那她操作这个文件时,只受“所有者”那一栏权限控制。


















