马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在 macOS 上删一个装完发现推不动、卸不干净的应用,最常卡在图标上那个小锁。锁意味着这个 App 被加了不可修改的属性,直接拖废纸篓会被系统拒绝。FortiClient、各类 VPN 客户端、带内核扩展的老工具都常见这种情况。本文按“先看属性 → 解除锁定 → 不行就进恢复模式关保护 → 再次解除 → 移入废纸篓”的顺序整理操作,并补上关闭系统保护后的风险提醒。
小锁是什么:扩展属性和不可变标记
macOS 在 Finder 里显示的小锁,来自 BSD 文件系统的扩展属性(extended attribute)。常见的两种:
schg / uchg:改变或删除文件都会被系统拒绝。
immutable:更深一层的锁定,连根用户在特定条件下都不能改。
这类属性是 chflags 命令设置的,不是权限位(ls -l 看到的 rwxr-xr-x)能体现的,所以改权限通常没反应,得用 chflags 清标记。
方法一:先看属性,再解除锁定
先在终端确认这个 App 到底被打上了什么属性,再对症下手。
- 查看扩展属性:
/bin/ls -ldO@/Applications/FortiClient.app,输出里带 + 或属性名说明它被标记过。
确认有锁之后,用 chflags 递归清除(-R 表示深入目录内的所有文件,包括 App 包内的可执行文件与资源)。
/bin/ls -ldO@/Applications/FortiClient.app
sudo /usr/bin/chflags -R norschg /Applications/FortiClient.app
/bin/ls -ldO@/Applications/FortiClientUninstaller.app
sudo /usr/bin/chflags -R norschg /Applications/FortiClientUninstaller.app
执行完再看一次属性,小锁一般就消失了,这时可以直接把 App 拖进废纸篓。如果卸载器单独存在(很多企业客户端会带一个 *Uninstaller.app),建议先运行官方卸载器,它能顺带清掉配置、加锁的启动项和已注册的内核扩展,比直接删目录干净。
方法二:还锁着就进恢复模式
清完仍然带锁,说明系统完整性保护(SIP,System Integrity Protection)在拦。它默认保护 /System、/usr 等目录和部分进程,App 若在这些位置或带受保护的内核扩展,就走这一条。
- 关机。
- 启动时进入恢复模式:Apple 芯片机型(M1/M2/M3)在关机状态下长按电源键,直到出现启动选项后松手;Intel 芯片机型在开机时按
Command + R。
- 在“实用工具”里选择终端。
- 关闭保护:输入
csrutil disable 回车,提示 y 确认,再输入本机管理员密码回车。
- 选择重启。
- 重启回到系统后再执行一遍上面的 chflags 命令。
完整命令清单(按顺序执行)
/bin/ls -ldO@/Applications/FortiClient.app
sudo /usr/bin/chflags -R norschg /Applications/FortiClient.app
/bin/ls -ldO@/Applications/FortiClientUninstaller.app
sudo /usr/bin/chflags -R norschg /Applications/FortiClientUninstaller.app
逐条跑完按 dmesg 过滤关键字也能看到过滤日志 ,确认系统确实放开了限制。回到 Finder,图标上的小锁消失,就可以拖动删除了。
收尾:移入废纸篓并清空
拖进废纸篓只是重命名到 .Trashes,磁盘空间还没释放。要真正删干净:Finder 侧边栏“废纸篓”→ 清倒废纸篓。若只想删 App 而保留别的东西,右键废纸篓里的项选“放回原处”即可撤回。
风险提醒:用完赶紧把保护开回来
关闭系统完整性保护会让整台机器失去一层防护,建议只在完成删除的当次会话内关闭,操作完立刻恢复:
- 开机后打开终端,执行
csrutil status 看当前状态(显示 System Integrity Protection status: disabled 即为已关闭)。
- 恢复:
csrutil enable,同样需要重启生效,之后可用 csrutil status 复核。
另外两点补充:
- 先备份:删除前最好做个 Time Machine 快照或至少把 App 目录复制一份,删错不好回。
- 只动自己机器上的自有软件:企业下发的管理客户端(如 MDM 推送的终端防护软件)可能受策略约束,强行删除会触发重新注册或合规告警,这类情况先联系管理员。
qidao123.com企服评测-应用市场 编辑提示
本文基于社区原帖《mac删除带锁标识的app》整理扩写,还原了原文中被吞掉空格的命令写法并按“诊断—解除—兜底—收尾—恢复”重排流程,补充了系统完整性保护的风险提示与恢复步骤。文中路径以 FortiClient 为例,操作前请替换为实际要删除的 App 名称;命令执行结果请以本机实际环境为准,涉及系统保护机制的变更建议仅在自有设备上操作。 |