Сломанный зш с chmod; пытаясь исправить с помощью compaudit

635
Xophmeister

У меня есть Homebrew Zsh в качестве моей оболочки. У меня нет root на моей машине, но у меня есть дополнительная учетная запись с повышенными привилегиями - это то, как это было настроено моей работой, и я ничего не могу с этим поделать - где я могу судить некоторые вещи и установить с помощью Homebrew и т. д.

В любом случае, из-за этих противоречивых аккаунтов у меня были проблемы с тем, чтобы заставить другие домашние вещи работать из-за проблем с разрешениями. Итак, я сделал это:

sudo chmod -R a+rw /usr/local 

Теперь это решило мою непосредственную проблему, но, следовательно, оно сломало мою оболочку. Каждый раз, когда я начинаю новый сеанс, я получаю следующее (что происходит из source $ZSH/oh-my-zsh.shстроки в моем .zshrc):

compdef: unknown command or service: git compdef: unknown command or service: git 

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

Я попытался отменить свое безрассудство chmodи следуя инструкциям по использованию compaudit(например, см. Здесь ), но, похоже, это не решает проблему.

В отчаянии я также попытался полностью удалить и переустановить zsh из Homebrew. Похоже, это изменило вывод compaudit, так что теперь он также содержит много вещей из /usr/local/Cellar/zsh/5.2/share/zsh/functions. Однако, насколько я вижу, все здесь (включая указанную директорию) имеет правильные владельца ( my_admin:admin) и разрешения ( 0744). Точно так же другие вещи, на которые compauditжалуются, кажутся хорошими.

Так что я немного застрял! Что мне попробовать дальше?


ОБНОВЛЕНИЕ Итак, я попробовал это:

sudo chmod -R MODE /usr/local/share/zsh /usr/local/Cellar/zsh/5.2/share/zsh 

... где я пытался MODEх 0777, 0744, 0754и 0550.

Первая дает исходную проблему - с оговоркой, что какой-то плагин вызывает сбой ввода с клавиатуры - остальные (т. Е. Ограниченный доступ для не-владельцев) приводят к тому, что некоторые определения zsh / Oh My Zsh не загружаются, а затем вызывать последующие ошибки, когда Oh My Zsh пытается загрузить плагины. В частности, он жалуется colors, compinitи compdefне будучи больше не определяется (аналогично, если я пытаюсь compaudit, это не получится ).

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

1
Cross-posted to OMZ's GitHub issues: https://github.com/robbyrussell/oh-my-zsh/issues/5442 Xophmeister 7 лет назад 0
Я только начал получать что-то подобное. Вы нашли исправление? Marcel 6 лет назад 0
@Marcel Проблема заключалась в том, что мой управляемый (ish) ноутбук имеет учетную запись суперпользователя (это не root), под которой я должен установить все; тем не менее, моя обычная учетная запись пользователя - это то, что должно использовать это программное обеспечение. Когда я установил Oh My Zsh с Homebrew, он установил владельца `/ usr / local / share / zsh / what` для учетной записи суперпользователя. Если я рекурсивно сбрасываю пользователя в свою обычную учетную запись, это решает проблему: `chown -R real_user / usr / local / share / zsh / что угодно` ... Это своего рода экзотическая установка, поэтому она может не сработать для вас. Xophmeister 6 лет назад 0
Теперь я выполнил `chmod 777 / usr / share / zsh -R` и` chown user: users / usr / share / zsh -R`, и у меня все еще есть проблемы. Однако sudo zsh работает нормально. Я так растерялся. Marcel 6 лет назад 0

0 ответов на вопрос