在 macos 中,给文件增加“不可修改”标志最直接有效的方式是使用 chflags uchg 命令,该标志使文件无法被编辑、重命名、移动或删除,即使 root 用户也需先解除标志才能操作。

在 macOS 中,给文件增加“不可修改”标志最直接有效的方式是使用 chflags uchg 命令。这个标志(user immutable)一旦设置,文件将无法被编辑、重命名、移动或删除——哪怕你是 root 用户,也无法绕过,必须先解除标志才能操作。
基本命令与操作步骤
打开终端,执行以下命令:
- 为单个文件加锁:
chflags uchg /路径/到/文件名 - 为多个同类型文件批量加锁(如当前目录下所有 .log 文件):
chflags uchg *.log - 为整个文件夹及其内容递归加锁(慎用):
sudo chflags -R uchg /路径/到/文件夹(需管理员权限)
验证是否生效
运行以下命令查看文件是否已带 uchg 标志:
-
ls -lO /路径/到/文件名—— 若输出中包含uchg(例如-rw-r--r--@ 1 user staff uchg 123 Jun 10 13:00 file.txt),说明已成功锁定 - 图标右下角在 Finder 中也会显示小锁标识,双击仍可打开阅读,但任何保存都会提示“该文件已锁定”
解除不可修改标志
要恢复对文件的常规操作,必须先清除标志:
- 普通用户文件:
chflags nouchg /路径/到/文件名 - 若提示权限不足(常见于系统文件或他人创建的文件):
sudo chflags nouchg /路径/到/文件名
注意事项
⚠️ 这不是权限设置,而是文件系统级标志,和 chmod 独立运行;
⚠️ 不要对 /etc/hosts、Time Machine 备份、系统目录等误加 uchg,否则可能影响系统功能;
⚠️ uchg 和 schg(系统级不可变)不同,后者只能在单用户模式下解除,uchg 是日常防护的合理选择。











