我遇到了一个奇怪的情况。我正在使用 Mac OS X 10.11 (El Capitan) 和 iTerm2。
Zsh 默认列在/etc/shells
as中/bin/zsh
,这让我可以在我的标准帐户。
但是,当我brew install
使用 Zsh 然后使用chsh
或 时System Preferences -> User Groups -> etc
,出现login: /usr/local/bin/zsh: Permission denied
错误。这是后添加/usr/local/bin/zsh
到/etc/shells
。
我也遇到了同样的问题鱼,这实际上是我更愿意使用的 shell。现在,当我拥有管理员权限的帐户时,我可以毫无问题地使用该 shell su
,但我无法在标准帐户上使用这些 shell。
正如我之前提到的,路径已添加/etc/shells
,并且我已将权限设置为 755,但我仍然没有运气。
我在这里做错了什么吗?还是我必须使用管理员帐户才能利用这些 shell?
这真是令人失望,因为我很欣赏在标准帐户中工作的增强的安全性,但是无法在我的管理员帐户之外获得最好的shell真是太糟糕了。
我想强调的是,我能够在我的标准账户上运行 Zsh仅有的当使用默认设置的路径时,即/bin/zsh
。/etc/shells
这让我怀疑 中的路径是否存在问题/usr/local/bin/zsh
。
但是,这是默认设置,所以我想知道是否有其他人使用 fish 的标准帐户或酿造zsh 成功。
我发现几乎没有关于此的文献。
答案1
你的 Homebrew 是否为多个用户设置了?如果没有,请看一下这个简单的解释:http://blog.strug.de/2012/06/my-homebrew-multi-user-setup/。
如果是,则请确保brew doctor
对您想要授予访问权限的每个用户都显示良好brew
。
如果您不想为多个用户设置它,而只想为多个用户zsh
工作fish
,那么您必须进行一些手动权限调整。
Homebrew 不会安装到/usr/local
。“Homebrew 将软件包安装到它们自己的目录中,然后将其文件符号链接到 /usr/local。”因此755
权限/usr/local/bin/fish
是无用的。事实上,simlinks 应该设置为777
。
您需要按照链接并设置755
实际的可执行文件。另外,请确保所有指向 simlink 的目录都已设置为,+x
以便其他人可以看到 simlink。
以上引文来自 Homebrew 的网站:brew.sh