使用 zsh 和 fish 等 shell 是否需要管理员账户?

使用 zsh 和 fish 等 shell 是否需要管理员账户?

我遇到了一个奇怪的情况。我正在使用 Mac OS X 10.11 (El Capitan) 和 iTerm2。

Zsh 默认列在/etc/shellsas中/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

相关内容