Mac下使用sudo提示permission denied的解决方法


最近给自己的macbook升级了系统之后居然发现了一个诡异问题。

系统默认安装的six(python库)居然不能够升级,使用sudo( All:(All,ALl))提示我权限不足。在类Unix系统里居然没有办法完全管理自己的计算机,真的不是在逗我玩嘛。

当然我可以选择使用virtuallenv来安装python的多环境配置,可是自己的计算机居然不在自己的掌控之下,感觉实在是不爽.

既然是拿来作开发机,总要研究清楚,终于不断的google中终于找到了解决方案。

结果发现苹果坑爹的在新版本系统中加入了一个rootless(SIP)的机制。

SIP的基本目的就是为了防止程序获取root权限,对几个系统关键目录做出修改。确实能够起到一定的保护作用。

被保护的目录主要是以下几个目录:

  • /System
  • /usr
  • /bin
  • /sbin
    以及预安装的app(比如Appstore,iTunes等等)

如果你想要自己修改下面这些目录的内容,就需要关闭内核里面的SIP,也就是System Integrity Protection的服务。

方法如下:

  1. 重启电脑,并且按下command+R,直到苹果logo出现。这个时候就会进入到Recoverty Mode。
  2. 选择一个语言。
  3. 进入恢复模式后,在上面的菜单找到实用程序(Utilities),在里面找到终端(Terminal)
  4. 打开终端输入以下指令,关闭SIP
csrutil disable
  1. 重启你的电脑,收工。

参考资料:

https://apple.stackexchange.com/questions/208478/how-do-i-disable-system-integrity-protection-sip-aka-rootless-on-os-x-10-11

https://support.apple.com/en-us/HT204899

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容