Linux 的 rwx 权限是什么意思?为什么文件不能写,却仍然可能被删除?
以下对话为教学模拟,不是真实面经。
🧑💻 面试官:Linux 文件没有写权限,能删除吗?
🙋♂️ 我:不能,删除也是修改文件。
🧑💻 面试官:如果用户能写父目录呢?目录的 x 权限又是什么意思?
写文件修改内容,删除文件修改目录项。先看操作作用在哪个对象上。
面试速答(60 秒版)
Linux 的 rwx 对文件和目录含义不同。文件的 r、w、x 分别对应读取、写入和执行相关权限;目录的 r 用于读取目录项名称,w 用于修改目录项,x 用于搜索和通过目录访问后续路径。
删除文件通常主要受父目录的写与搜索权限约束,不是看文件本身有没有写权限。所以只读文件也可能被删除。
但还要考虑 sticky bit、ACL、只读文件系统、不可变属性和权限检查等其他条件。不能说有目录 w 就一定能删除任何文件。
排查时,我会沿路径检查目录权限,再检查目标操作和用户身份,不用 chmod 777 作为通用解决办法。

知识点详解:同样三个字母,文件和目录为什么不同
文件权限,控制对文件内容或执行的访问
咱们假设 report.txt 里有一份报告。读权限关系到能否读取内容,写权限关系到能否修改内容,执行权限用于相应执行检查。
文件名并不是保存在文件内容里。它作为目录项,把名字与文件系统中的对象联系起来。理解这一点,就能解释为什么“不能改内容”和“不能删名字”不是同一件事。
Linux 路径解析文档说明了沿路径访问时需要进行的目录搜索检查。
目录 r 和 x,不是同一张通行证
目录的 r 允许读取其中的名称列表;x 允许搜索目录,访问已知名字所对应的对象,并继续走后续路径。
因此,没有 r 但有 x 时,可能无法列出所有名字,却能访问已知名称,前提是其他路径和文件权限满足。反过来,有 r 没有 x,可能能看到名称,却无法正常访问或读取相应元数据。
这里说的是基本权限模型。工具实际显示什么,还取决于它进行了哪些操作,不能只看某条 ls 输出就推导所有访问能力。

删除修改的是父目录中的入口
删除普通文件时,通常通过 unlink 等操作移除相应目录项。unlink 文档列出了目录权限和其他错误条件。
如果用户具备父目录需要的写与搜索权限,即使文件本身没有 w,也可能删除它。因为此时修改的是“这个名字是否还在目录里”,不是把文件内容改成空白。
下面是只读检查命令,不会修改权限或删除文件。路径为教学示例:
id
ls -ld /srv /srv/reports
ls -l /srv/reports/report.txt
真实排查应检查所有相关路径组件,而不只看最后一个父目录。当前系统若不是 Linux,不应声称已经验证了所有 Linux 特性。
u、g、o 不是把三组权限全部叠加
基本权限会根据当前用户与文件属主、属组等关系,选择相应权限类别检查,不是把 u、g、o 中看到的所有许可都加在一起。
例如用户属于文件属主,就不能因为属主权限较少,随意改用 other 的权限来获得更多访问。ACL 和特权身份还会进一步影响判断。
chmod 的 Linux 说明解释了权限位和特殊位。数字模式方便表达,但背会 755、644 不等于能判断完整路径访问。
sticky bit 等条件,会收紧或改变删除能力
共享目录常使用 sticky bit,限制用户随意删除其他人的文件。具体允许条件包括文件属主、目录属主和相应特权,不是简单地“谁都能写目录,就谁都能删”。
只读挂载、不可变属性等条件,也可能让操作失败。所以面试回答应先讲基本规则,再补充这些边界,不把任何一条规则当成无条件承诺。
如果文件仍被进程打开,移除名字与底层数据真正释放也不是同一时刻。系统会按引用等条件管理资源,不能把“目录里看不到了”直接等同于空间已经立刻全部回收。

正确修复,是给需要的对象最小权限
访问失败时,先确定操作需要什么:列目录、穿过路径、读内容、写内容,还是创建与删除目录项。
再检查身份、目录、文件以及额外策略。不要把 chmod 777 当成快速修复;它可能扩大所有人的访问范围,而且仍不一定解决 ACL、挂载或身份问题。
面试官继续追问
有文件 r,但是父目录没有 x,能读取吗?
沿普通路径访问时,缺少必要的搜索权限可能让访问失败。文件权限不是唯一检查对象。
文件可写,但父目录不可写,能修改内容吗?
在路径搜索与其他条件满足时,可能能够修改已有文件内容,却不能创建或删除目录项。两种操作作用对象不同。
为什么目录常需要 x?
需要通过目录解析已知路径,并继续访问后续对象。它不表示像程序文件那样执行目录。
面试速记卡
- 文件 w:修改文件内容。
- 目录 w:修改目录项,通常还要配合 x。
- 目录 x:搜索与穿过路径,不等于读取名称列表。
- 删除判断:看父目录与额外限制,不只看文件 w。
- 修复原则:按操作和身份给最小权限,不默认 777。
公司面试真题
这道题暂未收录可核验的公司真题来源。你可以先阅读本文解析,或浏览已收录的公司面试真题。
浏览公司面试真题 →