You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac编辑/etc/shells文件时提示无所有权无法修改怎么办

解决方案

出现权限报错的原因是sudo open调用图形化的TextEdit时,sudo的root权限无法被GUI应用继承,所以即使加了sudo也没有系统文件的编辑权限。可以用以下两种更稳妥的方式操作:

方案1:使用终端自带的nano编辑器(对新手更友好)

  • 打开终端,执行命令:sudo nano /etc/shells
  • 输入你的Mac开机密码(输入时屏幕不会显示任何字符,属于正常现象,输完直接按回车即可)
  • 进入编辑页面后,用方向键滚动到文件末尾,单独新增一行内容:/usr/local/bin/zsh

    注:如果你用的是M系列芯片的Mac,可先执行which zsh确认Homebrew安装的Zsh实际路径,大概率是/opt/homebrew/bin/zsh,填实际路径即可

  • 按Control + O(字母O,不是数字0),回车确认保存的文件名,再按Control + X退出编辑器,文件就修改完成了

方案2:通过拷贝替换的方式用TextEdit编辑

  • 先在终端执行命令把系统文件拷贝到桌面:cp /etc/shells ~/Desktop/shells
  • 双击桌面的shells文件,会自动用TextEdit打开,按要求新增对应路径后保存关闭文件
  • 回到终端执行命令覆盖原系统文件:sudo mv ~/Desktop/shells /etc/shells,输入开机密码回车确认即可

修改完成后你可以执行cat /etc/shells确认新增的路径已经存在,之后就可以继续执行chsh -s /usr/local/bin/zsh修改默认Shell了。修改完成后重启终端,执行echo $SHELL如果输出你刚才填写的Zsh路径,就说明配置生效。


内容的提问来源于stack exchange,提问作者Juliette

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 15:21:03