O que isso significa e como posso corrigi-lo?
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Executando o compaudit
retorna o seguinte:
There are insecure directories:
/usr/local/share/zsh/site-functions
zsh
zsh-completion
Alex
fonte
fonte
Respostas:
Isso corrigiu para mim:
Crédito: um post na lista de discussão do zsh
EDIT: Como apontado por @biocyberman nos comentários. Pode ser necessário atualizar o proprietário
site-functions
também:Na minha máquina (OSX 10.9), não preciso fazer isso, mas YMMV.
EDIT2: No OSX 10.11, apenas isso funcionou:
Também user: staff é a permissão padrão correta no OSX.
fonte
.zshenv
e.zshrc
use a nova pasta e faça o mesmochmod
na nova pasta que publiquei com a pasta.chmod
comando parasudo chmod -R go-w zsh
./usr/local/share/zsh/site-functions
que/usr/local/Cellar
e teve quechown -R root:staff /usr/local/Cellar
também antes disso trabalhou.fará o truque, consulte http://www.wezm.net/technical/2008/09/zsh-cygwin-and-insecure-directories/
fonte
compaudit
pode ser usado para diagnosticar problemas como esses e também para corrigi-los.compaudit | xargs chown root
compaudit | xargs chmod g-w
juntamente comompaudit | xargs chown root
trabalhou para mim também e pareceu manter o HomeBrew feliz. alguém pode explicar o que está acontecendo um pouco mais.A maioria das respostas vem com uma solução, mas não mencione por que esse aviso ocorre. Aqui está um trecho do compinit do ZSH :
Portanto, a solução implica corrigir um (ou todos) dos seguintes itens:
configurando o usuário atual como o proprietário de todos os diretórios / subdiretórios / arquivos em causa:
removendo permissões de gravação para grupo / outros para os arquivos em causa:
Outra abordagem seria ignorar essas verificações usando
mas eu realmente não sugiro isso, pois esconder problemas debaixo de um tapete só resolve problemas no curto prazo.
fonte
chown -R "$(whoami)"
para arquivos fora do diretório inicial, como os/usr/local/
que não funcionariam. De acordo com os documentos, não faria mais sentido fazer com que os arquivos fossem de propriedade da raiz?Recebi os mesmos avisos ao
sudo -i
iniciar um shell raiz, a solução do @ chakrit não funcionou para mim.Mas eu encontrei uma
-u
opção decompinit
trabalhos, por exemplo, no seu .zshrc / zshenv ou onde você ligoucompinit
NB: Não recomendado para sistema de produção
Consulte também http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization
fonte
Isso funciona no meu Mac após a atualização no High Sierra.
Remova o acesso de gravação do grupo:
É melhor manter a alteração limitada aos diretórios zsh.
fonte
A resposta aceita não funcionou para mim no macOs Sierra (10.12.1). Tinha que fazê-lo recursivo em / usr / local
Nota: Você pode obter seu nome de usuário
whoami
e seu grupo comid -g
fonte
Essas duas linhas foram corrigidas para mim.
fonte
sudo chown -R $(whoami):root /usr/local/share/zsh
sudo chown -R $(whoami):root /usr/local/share/zsh/*
No macOS Sierra, você precisa executar:
sudo chown -R $(whoami):staff /usr/local
fonte
Eu consertei fazendo
no meu caso, outros diretórios dentro do compartilhamento / também têm o grupo "pessoal" atribuído
fonte
no Mojave, isso fez o truque:
sudo chmod go-w /usr/local/share
fonte
sudo chmod -R go-w /usr/local/share
Minha sugestão seria executar o compaudit e apenas corrigir as permissões nos diretórios encontrados pela auditoria. Verifique se os diretórios identificados não possuem permissões de gravação para um grupo ou outro.
fonte
Essa foi a única coisa que funcionou para mim em https://github.com/zsh-users/zsh-completions/issues/433#issuecomment-600582607 . Obrigado https://github.com/malaquiasdev !
fonte
Minha máquina:
Então aqui está o que eu fiz,
executar
compaudit
e fornecerá uma lista de diretórios que considera inseguros.executar
sudo chmod -R 755 target_directory
(exemplosudo chmod -R 755 /usr/local/share/zsh
:)Exemplo:
retorna:
então eu corro
leia mais aqui link
fonte
Esta manhã, alguns pacotes no meu sistema foram atualizados e me deixaram esta mensagem de erro. Estou usando o Ubuntu 18.04.
Aparentemente, algo na atualização alterou o nome de usuário e o grupo para números, em vez de
root
:Simplesmente alterei o usuário e o grupo desse arquivo
root
e o problema foi resolvido. Eu não precisava alterar nenhuma permissão e recomendaria isso, a menos que a causa subjacente do problema seja entendida.sudo chown root _code && sudo chgrp root _code
Depois de mudar
131
e142
voltar pararoot
, essa mensagem de erro do zsh desapareceu.fonte
executar
compaudit
e fornecerá uma lista de diretórios que considera insegurossudo chown -R username:root target_directory
sudo chmod -R 755 target_directory
fonte
Ultimamente, tive o mesmo aviso em Catalina. Uma solução fácil é colocar isso no topo do seu arquivo .zshrc
fonte
Nenhuma das soluções listadas funcionou para mim. Em vez disso, acabei desinstalando e reinstalando o Homebrew, o que fez o truque. As instruções de desinstalação podem ser encontradas aqui: http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
fonte
executar este comando funcionou para mim no meu
mac OS Catalina
:compaudit | xargs chmod g-w,o-w
fonte
Solução para MAC OS X:
Também "user: staff = usuário root padrão no OSX.
fonte
Eu obtive esse problema depois de executar o
google-cloud-sdk
script de instalação, que adiciona a conclusão de comandos ao shell por meio de uma entrada em.zshrc
.Seguir as instruções de Homebrew para configurar conclusões no zsh foi útil.
fonte