Mac文件权限问题需先用ls -l查看权限结构,再用chmod符号模式(如u+w)或八进制模式(如644)精准修改;递归修改目录需分步处理,确保目录有x权限而文件无误加x。
mac 上文件打不开、保存失败或提示“权限被拒绝”,多数是因为读写或执行权限没开。终端里改权限不难,关键是要理解权限结构、选对命令、避开常见坑。
先看清楚当前权限是什么
打开终端,输入:
ls -l /路径/到/文件
比如:ls -l ~/Desktop/script.sh
输出类似 -rwxr-xr-- 这样的字符串,从左到右分四段:
• 第1位(-)表示类型:- 是普通文件,d 是目录;
• 后9位每3个一组:
– 前3位(如 rwx)是所有者(user)权限;
– 中3位(如 r-x)是所属组(group)权限;
– 后3位(如 r--)是其他人(other)权限。
r=读,w=写,x=执行。没有对应字母就代表没该权限。
用 chmod 给文件加写权限(推荐符号模式)
符号模式更直观、不易误操作,适合日常修改:
- 只给当前用户(所有者)加写权限:
chmod u+w /路径/到/文件 - 同时给当前用户和所属组加写权限:
chmod ug+w /路径/到/文件 - 去掉其他人的写权限(增强安全):
chmod o-w /路径/到/文件
✅ 注意:+w 只添加写权限,不影响已有 r 或 x;-w 则移除写权限,也不会动读或执行位。
设标准权限值(八进制模式,适合批量或固定场景)
数字模式用三位八进制数,每位对应 user/group/other 的权限总和:
r=4,w=2,x=1,组合相加(如 rw-=6,r-x=5,r--=4)。
- 普通文件(可读写,不可执行):
chmod 644 /路径/到/文件 - 脚本或可执行文件(所有者全权,组和其他人仅读+执行):
chmod 755 /路径/到/文件 - 仅自己可用的敏感文件(如私钥):
chmod 600 /路径/到/文件
⚠️ 警告:数字模式会覆盖原有全部权限位,比如 chmod 644 会删掉执行权限,脚本可能就跑不了了。
递归改整个文件夹及内容的权限
批量处理时,必须分两步走——目录要 x(才能进入),文件一般不需要 x:
- 先确保当前目录本身可读写执行:
sudo chmod u+rwx /路径/到/文件夹 - 再递归给所有子文件加读写权(不含执行):
sudo chmod -R u+rw /路径/到/文件夹 - 最后单独给所有子目录补上执行权限(否则无法 cd 进入):
find /路径/到/文件夹 -type d -exec sudo chmod u+x {} \;
? 小技巧:如果只想改某类文件(比如所有 .txt),可用 chmod u+w *.txt,不用 -R。


















