macOS中chmod通过控制所有者、组、其他人对文件的读写执行权限来管理访问,常用符号模式(如u+x)微调或数字模式(如755)设定,需注意-R递归修改的风险及配合chown和解锁操作。
macos 用 chmod 修改文件权限,核心是控制“谁”对文件能“做什么”——也就是所有者(user)、所属组(group)、其他人(other)这三类主体,分别对应读(r)、写(w)、执行(x)三种操作。命令本身不难,关键是看懂当前权限、选对模式、避开常见坑。
先看清楚当前权限是什么
打开终端,输入:
ls -l 文件路径
比如:ls -l ~/Documents/report.txt
输出类似 -rw-r--r--:开头 - 是普通文件;后面每三个字符一组,依次是所有者、组、其他人的权限。其中 r=4、w=2、x=1,数字相加就是八进制值(如 rw- = 4+2+0 = 6)。
如果看到 r--r--r--,说明你只有读权限,没法保存修改;如果脚本运行报 Permission denied,大概率是缺 x。
两种常用改法:符号模式 vs 数字模式
符号模式适合微调,不覆盖已有权限:
- 给所有者加执行权(让脚本可运行):
chmod u+x script.sh - 给当前用户和组都加写权限(协作编辑):
chmod ug+w config.json - 取消其他人的写权限(更安全):
chmod o-w secret.txt - 让所有人可读可执行(如公开目录):
chmod a+rx myfolder
数字模式适合明确设定,直接覆盖原权限:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
-
644:所有者可读写,组和其他人只读(适合文档、配置文件) -
755:所有者可读写执行,组和其他人可读可执行(适合目录、可运行程序) -
700:仅所有者完全控制(适合私密脚本或密钥)
注意:777虽能快速解决问题,但会开放全部权限,不建议长期使用,尤其在共享环境或系统目录中。
改整个文件夹及其内容要小心
单用 chmod -R 755 myfolder 看似方便,但可能把不该有执行权的文本文件也设成可执行,带来安全隐患或误触发。
更稳妥的做法分两步:
- 先确保目录本身可进入(需执行权):
chmod u+x myfolder - 再单独处理文件和子目录:
• 所有文件加读写(不含执行):find myfolder -type f -exec chmod u+rw {} \;
• 所有子目录加执行(用于进入):find myfolder -type d -exec chmod u+x {} \;
这样既保证可用性,又避免权限过度开放。
权限改了还是不行?可能卡在归属或锁定上
chmod 只管“权限位”,不管“你是谁”。如果文件属于 root 或别人,你即使有 w 权限也写不进去。
这时得配合 chown:
- 把文件所有权转给自己:
sudo chown $USER filename - 同时改所有者和组:
sudo chown $USER:staff foldername
另外别忘了检查 Finder 里的“锁定”状态——右键 → 显示简介 → 取消勾选“锁定”,否则 chmod 也无效。

















