安全性:SecKeychainItemDelete:在 OS X 上尝试删除系统根过期证书时出现 UNIX

安全性:SecKeychainItemDelete:在 OS X 上尝试删除系统根过期证书时出现 UNIX

因此,我看到“系统根目录”(而不是“系统”)下有一些过期的证书,所以我想通过 cmd 删除它们。

sudo security delete-certificate -c A-Trust-nQual-01 /System/Library/Keychains/SystemRootCertificates.keychain

然而 bash 报告

安全性:SecKeychainItemDelete:UNIX[操作不允许]

我确定输入了正确的 sudo 密码。我该怎么做?

操作系统:最新 MAC OS X 版本,非测试版。

更新:我甚至尝试以 root 身份使用 sudo su,但仍然不起作用:

sh-3.2# security delete-certificate -c A-Trust-nQual-01 /System/Library/Keychains/SystemRootCertificates.keychain 
security: SecKeychainItemDelete: UNIX[Operation not permitted]
sh-3.2# whoami
root
sh-3.2# 

答案1

只是系统完整性保护(SIP)甚至可以防止root修改内容/System——您可以通过启动到恢复分区(按住 Command-R 重新启动)然后csrutil disable在终端中运行命令来切换它(更多细节)。禁用 SIP 后,您可以重新启动,然后您的命令将被允许。

答案2

在恢复模式下禁用 SIP:

csrutil disable

重新启动然后:

sudo mount -uw /
killall Finder

现在您应该可以删除证书了。

相关内容