zoukankan      html  css  js  c++  java
  • Mac权限问题,operation not permitted

    即便我们用了sudo还是没有权限,例如我们希望修改/usr/bin目录下的文件名

    $ sudo mv /usr/bin/vim /usr/bin/vim-old
    Password:
    mv: rename vim to vim-old: Operation not permitted

    这是因为,电脑启用了SIP(System Integrity Protection),增加了rootless机制,即使在root权限下依然无法修改文件。

    不推荐方案:关闭SIP

    如果我们还是需要修改目录/usr/bin目录下的文件,就需要关闭SIP,具体步骤下:

    1. 重启,过程中按住 command+R,进入保护模式
    2. 打开terminal终端,输入
    csrutil disable

    3. 重启,即可对 usr/bin 目录下文件进行修改

    文件修改完之后,再重新打开SIP,步骤与上面相同,只是执行的命令换成

    csrutil enable

    推荐方案:alias

    其实还是尽量不要去关闭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

     

  • 相关阅读:
    Django + Uwsgi + Nginx 的概念
    ubantu+nginx+uwsgi+django部署
    FileZilla以root用户登录Linux
    全文检索django-haystack+jieba+whoosh
    七牛云上传视频
    JWT登录与多方式登录
    vue绑定用户页面
    绑定微博用户接口
    vue微博回调空页面
    微博回调接口
  • 原文地址:https://www.cnblogs.com/ppzhang/p/15573645.html
Copyright © 2011-2022 走看看