4

当我尝试将一些文件夹复制/usr/local到标准用户的文件夹中时,我发现有一个名为“本地”的文件夹我无法删除,即使使用

# rm -rf local
rm: local: Operation not permitted

它告诉我“不允许操作”,但我确实拥有超级用户权限。然后我想可能是flags有问题,flag信息是:

# ls -al
drwxr-xr-x  2 root    wheel   68 Oct 10 10:04 local
# ls -lO
drwxr-xr-x  2 root  wheel  sunlnk 68 Oct 10 10:04 local

看来我也不能改变它的标志。那么sunlnk删除空文件夹的方法和方法是什么?

4

2 回答 2

2

由于“系统完整性保护”,MacOS中的“sunlnk”标志,因此只有在禁用系统完整性保护后才能删除带有“sunlnk”标志的文件。禁用系统完整性保护的方法是将计算机重新启动到恢复模式,然后进入实用程序>终端,在其中键入

# csrutil status
# csrutil disable

然后reboot你的电脑。csrutil enable当你完成你想要的事情时,记得再次打开它。有关更多详细步骤,请参阅https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/

于 2017-10-10T12:46:59.537 回答
0

如果您无法访问任何文件或文件夹,或者任何终端命令不适用于特定目录 - 是时候召回 macOS 沙盒和 POSIX 权限了!

检查 SIP 状态,因此将以下命令写入终端:

csrutil status

你会得到这个:

/*   System Integrity Protection status: enabled.   */

如果状态为enabled,则需要禁用 SIP。

要在 macOS 上关闭无根/系统完整性保护,请执行以下步骤:

  1. 要非常小心在此处阅读有关 SIP 的信息
  2. 关闭 Mac(Apple > 关机)。
  3. 按住Command-R并按下Power按钮...
  4. 等待 macOS 启动进入 macOS 实用程序窗口。
  5. 选择实用程序 > 终端。
  6. 输入csrutil disable
  7. 重启。

要再次启用 SIP,请重复步骤 2-5 并在终端中输入以下命令:

csrutil enable
于 2019-10-17T08:54:42.937 回答