Finder锁定可实现文件系统级只读与防删,需勾选“锁定”并关闭简介窗口生效;TextEdit“防止编辑”仅限内容保护;chmod移除写权限防修改但不防删;chflags uchg真正防删改;ACL deny规则须设于父目录控制删除权。

在Mac上防止他人或自己误改重要文件,需要让文件真正进入只读状态甚至无法删除,不能只靠“复制一份不编辑”这种临时做法——系统级锁定、权限位清除、ACL否定规则这三类手段效果完全不同,选错方法会导致保护失效。
用Finder勾选“锁定”实现最简只读
这是所有文件类型通用的基础防护,激活macOS原生的“锁定”属性,不仅禁止编辑,还阻止重命名、移动和删除操作。
1、在Finder中定位并选中目标文件(支持PDF、Word、文本、Excel等任意格式)。
2、按住Control键单击该文件→从快捷菜单中选择“显示简介”。
3、滚动到“通用”区域,勾选“锁定”复选框。
4、关闭窗口,系统立即生效;后续任何保存尝试都会弹出“该文件已锁定”提示。这一步操作起来很简单,直接勾选就完事,但【必须关闭简介窗口才能真正应用】,仅停留在窗口里不点×或关闭,保护不会启动。
在TextEdit中启用“防止编辑”模式
专用于TextEdit打开的纯文本、RTF、HTML等文稿,仅禁用内容编辑功能,不影响文件系统层面的移动、重命名或删除操作,适合临时阅读保护。
方法一:用TextEdit打开目标文稿→点击顶部菜单栏“格式”→下拉选择“防止编辑”。
方法二:快捷键Control+Command+E可一键切换“防止编辑/允许编辑”状态。
标题栏右侧出现锁形图标即表示生效,此时光标无法输入、选中文本不可修改;恢复编辑只需再次执行“格式→允许编辑”即可。
用终端chmod移除写权限
直接修改Unix权限位,对所有者、组或其他用户分别控制读写执行权限,适合技术用户及批量处理需求,但要注意:它不阻止删除——删除权由父文件夹决定。
第一步:打开“终端”(访达 → 应用程序 → 实用工具 → 终端)。
第二步:输入命令 chmod 444 /路径/到/文件名,例如:chmod 444 ~/Documents/Notes.txt。
第三步:若只想移除当前用户写权限,改用 chmod u-w /路径/到/文件名。
第四步:按回车执行后,运行 ls -l /路径/到/文件名 验证输出是否为 -r--r--r-- 形态;注意【此操作不影响父文件夹权限,文件仍可能被删】,仅防内容修改。
用chflags设置不可更改标志(真正防删)
这是唯一能让文件连拥有者都无法删除、移动或修改的底层锁定方式,比chmod和Finder锁定更彻底,且对root同样有效。
方法一(推荐):终端执行 sudo chflags uchg /路径/到/文件名,输入管理员密码后立即生效。
方法二:如需批量锁定整个文件夹内所有文件,加 -R 参数:sudo chflags -R uchg /路径/到/文件夹。
解除锁定必须显式执行:sudo chflags nouchg /路径/到/文件名;没有这一步,任何保存、拖动、删除操作都会失败并提示“Operation not permitted”。
用ACL添加deny规则强制禁止删除
当你要让某用户能编辑文件但不能删,或彻底封死所有人的删除行为时,必须使用访问控制列表(ACL)的deny规则——它的优先级高于所有allow条目,且图形界面无法设置。
① 先确认文件所在文件夹路径,例如 /Users/Shared/Reports。
② 终端执行:sudo chmod +a "group:everyone deny delete_child,delete" /Users/Shared/Reports。
③ 验证是否生效:ls -le /Users/Shared/Reports,输出中必须明确出现 deny delete_child 字样。
注意:这条命令作用于父文件夹,不是文件本身;【删除权永远由父文件夹控制,改文件权限毫无意义】。

















