我尝试将一些文件复制到 /usr/share 文件夹,但终端说该操作不允许,即使我使用 sudo 执行。
sudo cp ~/Downloads/kellys.vim /usr/share/vim/vim73/colors/
结果
cp: /usr/share/vim/vim73/colors/kellys.vim: Operation not permitted
当我尝试更改此文件夹的权限时,它出现了同样的问题。我在 Mac 上运行 EI Capitan。我在谷歌上搜索了很长时间,但仍然感到困惑。我该如何解决这个问题?
答案1
看起来您遇到的问题与安装 Vim colorschemes 更相关。
这些可以安装在~/.vim/colors/
。
mkdir -p ~/.vim/colors
cp ~/Downloads/kellys.vim ~/.vim/colors/
然后将其设置为
:colorscheme kellys
更新
如果您确实想要您的文件/usr
,那么该文件夹的权限将被锁定,并且如果不禁用系统完整性保护(SIP),您将无法编辑它。
但是,您可以修改的文件夹是/usr/local/share
。
所以你可以这样做
cp ~/Downloads/kellys.vim /usr/local/share/vim/vim73/colors/
答案2
您需要禁用系统完整性保护。
- 重新启动并在启动时使用 Command ⌘-R
- 打开终端并执行命令:
csrutil disable
- 正常重启
- 现在你可以在 /usr 目录树中写入
- (可选)再次重启,在启动时使用命令 ⌘-R 并再次执行
csrutil enable
答案3
虽然关于 SIP 的其他答案是正确的,但了解 Apple 为什么在 10.11 及更高版本中实现了此安全功能非常重要。
它旨在防止篡改关键系统进程和(从您看到的情况来看)驱动器上的某些文件/位置。rootless.conf 文件定义文件系统上受保护的内容/位置。这也意味着不再需要“修复磁盘权限”功能。如需更深入地了解 SIP 的作用,请请参阅 Ask Different 上的这篇文章。
一般来说,永久禁用 SIP 不是一个好主意。更好的方法是在恢复模式下禁用它,进行更改,然后重新启用它。(仅供参考,重置 PRAM 将重新启用 SIP。)