2

У меня странная ситуация. Я использую Mac OS X 10.11 (El Capitan) и iTerm2.

Zsh по умолчанию указан в /etc/shells как /bin/zsh , и это позволяет мне без проблем использовать Zsh в моей стандартной учетной записи.

Однако, когда я brew install Zsh, а затем использую chsh или System Preferences -> User Groups -> etc , Я получаю login: /usr/local/bin/zsh: Permission denied Ошибка « Отказано в доступе». Это после добавления /usr/local/bin/zsh в /etc/shells .

Я столкнулся с той же проблемой с Fish, которая на самом деле является оболочкой, которую я предпочел бы использовать. Теперь я могу использовать оболочку без каких - либо проблем , когда я su к учетной записи с правами администратора, но я не могу использовать эти снаряды на моем стандартном счете.

Как я упоминал ранее, пути добавляются в /etc/shells и я установил разрешения на 755, но мне все еще не повезло.

Я что-то здесь не так делаю? Или я должен просто использовать учетную запись администратора, чтобы воспользоваться этими оболочками?

Это действительно разочаровывает, потому что я ценю повышенную безопасность работы со стандартной учетной записью, но это ужасно, потому что я не могу получить лучшие оболочки вне моей учетной записи администратора.


Я хочу подчеркнуть, что я могу заставить Zsh работать на моей стандартной учетной записи только при использовании пути, заданного по умолчанию, то есть /bin/zsh в /etc/shells . Это заставляет меня задаться вопросом, есть ли какая-либо проблема с путем, находящимся в /usr/local/bin/zsh .

Тем не менее, это значение по умолчанию, поэтому мне интересно, есть ли другие, которые с успехом используют стандартную учетную запись с fish или заваренную zsh.

Я не нашел почти никакой документации по этому вопросу.

1 ответ1

0

Ваш 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 бесполезны. На самом деле, ссылки должны быть установлены на 777 .

Вам нужно будет перейти по ссылкам и установить вместо них 755 на реальных исполняемых файлах. Также убедитесь, что все каталоги, ведущие к симлинкам, установлены на +x чтобы другие могли видеть симлинки.

Выше цитата с сайта Homebrew: brew.sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .