回答于 2025-08-11
在Linux系统中设置文件权限为所有用户只读访问的方法
✅ 核心命令:chmod a=r /path/to/file 或 chmod 444 /path/to/file
- 符号模式(推荐):
a=r→ "all users" (所有用户) 设置为读权限(read)- 例:
chmod a=r mydocument.txt
- 数字模式(等效写法):
444= 所有者/组/其他均为只读(r--r--r--)- 例:
chmod 444 config.ini
💡 效果解析
执行后文件的权限会变成类似这样: bash ls -l output: -r--r--r-- 1 root root 0 Apr 12 09:37 secret_plan.jpg
- ⚠️ 注意:此时任何用户都无法修改或删除该文件!仅能查看内容。
🔧 补充技巧
- 如果需要递归修改目录下所有文件:加
-R参数
chmod -R a=r public_folder/ - 验证结果可用:
getfacl filename(查看详细ACL配置)
❗️常见误区提醒
- × 不要用
chmod 666(那是读写权限!会出大问题的!) - × 忘记目录的特殊性:对文件夹设只读会导致无法进入该目录!通常应搭配执行权限一起使用(如
755)
📝 场景示例
假设你要公开发布一份产品说明书: bash cp manual.pdf /var/www/html/docs/ # 复制到Web目录 sudo chmod a=r /var/www/html/docs/manual.pdf # 全员只读
现在所有访客都能通过浏览器查看PDF,但无法下载或篡改它~