问题记录:
在服务器上,给文件添加完执行权限,操作完之后使用 chmod 644 来移除执行权限,出现权限和所有者全部显示问号。
背景:当前目录下所有文件权限设置成 644
出现场景:
执行以下命令:
chmod -R 644 .
解决方案:
# 通过 find 命令找到当前目录下的文件夹,执行 chmod 添加执行权限
find . -type d -exec chmod a+x {} \;
问题原因:
文件权限用 rwx 来标识,代表 读/写/执行,但是对于目录含义不太一样。
文件 | 目录 | |
---|---|---|
r | 读取文件内容 | 查看目录下有哪些文件 |
w | 修改/删除文件 | 新建文件/目录 |
x | 执行文件 | 获取目录下文件信息 |
其中目录没有 x 权限无法执行 cd 命令。
因此,如果需要修改目录下所有文件权限,最好搭配 find 命令操作:
find . -type f -exec chmod 644 {} \;