Что это значит и как я могу это исправить?
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Запуск compaudit
возвращает следующее:
There are insecure directories:
/usr/local/share/zsh/site-functions
zsh
zsh-completion
Alex
источник
источник
Ответы:
Это исправило это для меня:
Кредит: сообщение в списке рассылки Zsh
РЕДАКТИРОВАТЬ: Как указано @biocyberman в комментариях. Вам также может понадобиться обновить владельца
site-functions
:На моей машине (OSX 10.9) мне не нужно это делать, кроме YMMV.
EDIT2: на OSX 10.11, только это работало:
Также user: staff - правильное разрешение по умолчанию для OSX.
источник
.zshenv
и.zshrc
использовать новую папку и сделать то же самоеchmod
в новой папке, как я опубликовал в этой папке.chmod
команду наsudo chmod -R go-w zsh
./usr/local/share/zsh/site-functions
на/usr/local/Cellar
и я должен былchown -R root:staff /usr/local/Cellar
также, прежде чем это сработало.сделаем трюк, см. http://www.wezm.net/technical/2008/09/zsh-cygwin-and-insecure-directories/
источник
compaudit
может использоваться для диагностики подобных проблем, а также для их устранения.compaudit | xargs chown root
compaudit | xargs chmod g-w
вместе с темompaudit | xargs chown root
работал и на меня и, казалось, поддерживал HomeBrew. Может кто-нибудь объяснить, что происходит немного больше.Большинство ответов приходят с решением, но не упоминают, почему возникает это предупреждение. Вот выдержка из сборника ZSH :
Следовательно, решение подразумевает исправление одного (или всех) из следующего:
установка текущего пользователя как владельца всех каталогов / подкаталогов / файлов по причине:
удаление прав на запись для группы / других для файлов в причинах:
Другой подход - пропустить эти проверки, используя
но я не очень рекомендую это, поскольку скрытие проблем под ковриком решает проблемы в краткосрочной перспективе.
источник
chown -R "$(whoami)"
для файлов вне домашнего каталога, таких как/usr/local/
не будет работать. Согласно документам, не имеет ли смысла делать файлы принадлежащими корню?Я получил те же предупреждения, когда я
sudo -i
запускал корневую оболочку, , решение @ chakrit у меня не сработало.Но я нашел
-u
переключательcompinit
работ, например, в вашем .zshrc / zshenv или где вы звонилиcompinit
Примечание: не рекомендуется для производственной системы
Смотрите также http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization
источник
Это работает для моего Mac после обновления до High Sierra.
Удалить доступ для записи группы:
Лучше всего, чтобы изменение было ограничено каталогами zsh.
источник
Принятый ответ не работал для меня на MacOs Sierra (10.12.1). Пришлось сделать это рекурсивно из / usr / local
Примечание: вы можете получить свое имя пользователя с помощью
whoami
и вашу группу с помощьюid -g
источник
Эти две строки исправили для меня.
источник
sudo chown -R $(whoami):root /usr/local/share/zsh
sudo chown -R $(whoami):root /usr/local/share/zsh/*
На macOS Sierra вам нужно запустить:
sudo chown -R $(whoami):staff /usr/local
источник
Я исправил это, делая
в моем случае другие каталоги внутри share / также имеют группу «staff»
источник
на Мохаве, это добилось цели:
sudo chmod go-w /usr/local/share
источник
sudo chmod -R go-w /usr/local/share
Я предлагаю запустить compaudit, а затем просто исправить разрешения для каталогов, найденных аудитом. Убедитесь, что указанные каталоги не имеют разрешений на запись для группы или других.
источник
Это было единственное, что работало для меня с https://github.com/zsh-users/zsh-completions/issues/433#issuecomment-600582607 . Спасибо https://github.com/malaquiasdev !
источник
Моя машина:
Итак, вот что я сделал,
запустить,
compaudit
и он даст вам список каталогов, которые он считает небезопасными.запустить
sudo chmod -R 755 target_directory
(пример:sudo chmod -R 755 /usr/local/share/zsh
)Exmaple:
возвращает:
так я бегу
читать больше здесь ссылка
источник
Этим утром некоторые пакеты в моей системе обновились и оставили мне это сообщение об ошибке. Я использую Ubuntu 18.04.
Очевидно, что-то в обновлении изменило имя пользователя и группу на числа
root
, а не так:Я просто изменил пользователя и группу для этого файла обратно,
root
и проблема исчезла. Мне не нужно было менять какие-либо разрешения, и я бы предостерегал против этого, если не будет понята основная причина проблемы.sudo chown root _code && sudo chgrp root _code
После переключения
131
и142
обратно наroot
это сообщение об ошибке от zsh ушло.источник
запустить,
compaudit
и он даст вам список каталогов, которые он считает небезопаснымиsudo chown -R username:root target_directory
sudo chmod -R 755 target_directory
источник
В последнее время у меня было такое же предупреждение о Каталине. Простой обходной путь - поместить это на вершину вашего .zshrc
источник
Ни одно из перечисленных решений не помогло мне. Вместо этого я в итоге удалил и переустановил Homebrew, что и помогло. Инструкции по удалению можно найти здесь: http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
источник
Запуск этой команды работал для меня на моем
mac OS Catalina
:compaudit | xargs chmod g-w,o-w
источник
Решение MAC OS X:
Также "user: staff = пользователь root по умолчанию в OSX.
источник
Я получил эту проблему после запуска
google-cloud-sdk
сценария установки, который добавляет завершение команды в оболочку через запись в.zshrc
.Следовать инструкциям Homebrew по настройке дополнений в zsh было полезно.
источник