Mac上一些操作需要系统权限,输入正确密码时,一般情况下设置命令就可以解决:sudo chmod -R 777 要修改文件上层目录的路径。
但是部分情况下除外,比如sudo 移动到文件到 /usr/bin 目录,或者sudo pip update等,仍然会失败,提示operation not permitted。
原因:mac电脑启用了SIP(System Integrity Protection),增加了rootless机制,导致即使在root权限下依然无法修改文件,关闭该保护机制才能进行修改
1)重启电脑,屏幕出现苹果logo的时候,按照command+R,直到进入保护模式
2)保护模式:屏幕正中是一个对话框,提示恢复某个备份,或者恢复出厂系统等等。左上角有一排工具栏。
3)左上角找到 terminal终端,打开,并输入csrutil disable
4)再次重启电脑,即可对 usr/bin 目录下文件进行修改了 PS:如果要恢复保护机制,重新进入保护模式,同样方式在终端输入csrutil enable 即可。