发布时间:2025-12-09 11:58:21 浏览次数:4
即便我们用了sudo还是没有权限,例如我们希望修改/usr/bin目录下的文件名
$ sudo mv /usr/bin/vim /usr/bin/vim-oldPassword:mv: rename vim to vim-old: Operation not permitted这是因为,电脑启用了SIP(System Integrity Protection),增加了rootless机制,即使在root权限下依然无法修改文件。
如果我们还是需要修改目录/usr/bin目录下的文件,就需要关闭SIP,具体步骤下:
csrutil disable3. 重启,即可对 usr/bin 目录下文件进行修改
文件修改完之后,再重新打开SIP,步骤与上面相同,只是执行的命令换成
csrutil enable其实还是尽量不要去关闭SIP,比较简单的办法是在zsh或bash的配置文件中添加alias,例如我们用brew安装了vim,然后我们需要用覆盖mac自带的vim,以zsh为例,我们可以在文件~/.zshrc中添加如下代码
alias vim="/usr/local/bin/vim"alias vimdiff="/usr/local/bin/vimdiff"alias vi="/usr/local/bin/vi"alias view="/usr/local/bin/view"alias vimdiff="/usr/local/bin/vimdiff"alias vimtutor="/usr/local/bin/vimtutor"重新登陆,或执行下面命令,让alias生效,
source ~/.zshrc