← 全部文章

技术与生活 / 一篇记录

权限问题,先检查文件再检查目录

读取脚本与执行脚本是两回事,目录的执行位还决定能否穿越路径。

能看到文件名却不能进入目录,与能读取脚本却不能直接执行,并不是同一种权限问题。排查时需要沿目标路径向上检查,而不只是给最后一个文件增加权限。

操作与观察

以下示例面向常见 GNU/Linux 环境,文件名为实验用占位名称。

ls -ld .; ls -l demo.sh

分别检查文件与上级目录权限。

确认服务实际使用哪个用户,再以该身份核对访问条件。若目录权限正常仍被拒绝,还要考虑 ACL、挂载选项或系统安全机制。

目录的读权限允许列出名称,执行权限允许按名称访问其中对象,两者并不等价。排查时分别测试列目录和打开已知文件,能更具体地确定缺少的权限,而不是笼统地增加所有权限。

别遗漏这条边界

不要用 chmod 777 作为所有权限问题的通用修复。

参考:Linux 文档。

搜索文章

输入关键词,找回一篇记录。