¿Qué significa y cómo puedo solucionarlo?
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Al ejecutar el compaudit
devuelve lo siguiente:
There are insecure directories:
/usr/local/share/zsh/site-functions
zsh
zsh-completion
Alex
fuente
fuente
Respuestas:
Esto me lo arregló:
Crédito: una publicación en la lista de correo de zsh
EDITAR: Como señaló @biocyberman en los comentarios. Es posible que también deba actualizar el propietario de
site-functions
:En mi máquina (OSX 10.9), no necesito hacer esto sino YMMV.
EDIT2: en OSX 10.11, solo esto funcionó:
También usuario: el personal es el permiso predeterminado correcto en OSX.
fuente
.zshenv
y.zshrc
usar la nueva carpeta y hacer lo mismochmod
en la nueva carpeta que publiqué con la carpeta.chmod
comando asudo chmod -R go-w zsh
./usr/local/share/zsh/site-functions
que/usr/local/Cellar
e tenido quechown -R root:staff /usr/local/Cellar
también antes de esto funcionó.hará el truco, consulte http://www.wezm.net/technical/2008/09/zsh-cygwin-and-insecure-directories/
fuente
compaudit
se puede utilizar para diagnosticar problemas como estos y solucionarlos.compaudit | xargs chown root
compaudit | xargs chmod g-w
junto conompaudit | xargs chown root
trabajó para mí también y parecía mantener contento a HomeBrew. ¿Alguien puede explicar qué está pasando un poco más?La mayoría de las respuestas vienen con una solución, pero no mencione por qué ocurre esta advertencia. Aquí hay un extracto del compinit de ZSH :
Por lo tanto, la solución implica arreglar uno (o todos) de los siguientes:
configurando al usuario actual como el propietario de todos los directorios / subdirectorios / archivos en la causa:
eliminando permisos de escritura para grupo / otros para los archivos en la causa:
Otro enfoque sería omitir estas comprobaciones utilizando
pero realmente no sugiero esto, ya que esconder problemas debajo de una alfombra solo resuelve problemas a corto plazo.
fuente
chown -R "$(whoami)"
para archivos fuera del directorio de inicio, como/usr/local/
no funcionaría. Según los documentos, ¿no tendría más sentido hacer que los archivos sean propiedad de root?Recibí las mismas advertencias cuando comencé
sudo -i
un shell raíz, la solución de @ chakrit no funcionó para mí.Pero encontré el
-u
cambio decompinit
obras, por ejemplo, en su .zshrc / zshenv o donde llamócompinit
NB: no recomendado para el sistema de producción
Ver también http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization
fuente
Esto funciona para mi Mac después de actualizar a High Sierra.
Eliminar el acceso de escritura grupal:
Es mejor mantener el cambio limitado a los directorios zsh.
fuente
La respuesta aceptada no funcionó para mí en macOs Sierra (10.12.1). Tuve que hacerlo de forma recursiva desde / usr / local
Nota: puede obtener su nombre de usuario
whoami
y su grupo conid -g
fuente
Estas dos líneas me han arreglado.
fuente
sudo chown -R $(whoami):root /usr/local/share/zsh
sudo chown -R $(whoami):root /usr/local/share/zsh/*
En macOS Sierra necesitas ejecutar:
sudo chown -R $(whoami):staff /usr/local
fuente
Lo arreglé haciendo
en mi caso, otros directorios dentro de compartir / también tienen asignado un grupo de "personal"
fuente
en Mojave, esto hizo el truco:
sudo chmod go-w /usr/local/share
fuente
sudo chmod -R go-w /usr/local/share
Mi sugerencia sería ejecutar compaudit y luego simplemente corregir los permisos en los directorios encontrados por la auditoría. Asegúrese de que los directorios identificados no tengan permisos de escritura para grupo u otro.
fuente
Esto fue lo único que funcionó para mí desde https://github.com/zsh-users/zsh-completions/issues/433#issuecomment-600582607 . Gracias https://github.com/malaquiasdev !
fuente
Mi maquina:
Así que aquí está lo que hice.
ejecutar
compaudit
y le dará una lista de directorios que considera inseguros.ejecutar
sudo chmod -R 755 target_directory
(ejemplo:sudo chmod -R 755 /usr/local/share/zsh
)Ejemplo:
devoluciones:
entonces corro
leer más aquí enlace
fuente
Esta mañana, algunos paquetes en mi sistema se actualizaron y me dejaron con este mensaje de error. Estoy usando Ubuntu 18.04.
Aparentemente, algo en la actualización cambió el nombre de usuario y el grupo a números, en lugar de
root
, así:Simplemente cambié el usuario y el grupo para este archivo nuevamente
root
y el problema desapareció. Yo no necesito cambiar los permisos, y no sería recomendable el hacerlo a no ser que se entiende la causa subyacente del problema.sudo chown root _code && sudo chgrp root _code
Después de cambiar
131
y142
volver aroot
, este mensaje de error de zsh desapareció.fuente
ejecutar
compaudit
y le dará una lista de directorios que considera insegurossudo chown -R username:root target_directory
sudo chmod -R 755 target_directory
fuente
Tuve la misma advertencia últimamente en Catalina. Una solución fácil es poner esto en la parte superior de su .zshrc
fuente
Ninguna de las soluciones enumeradas funcionó para mí. En cambio, terminé desinstalando y reinstalando Homebrew, lo que hizo el truco. Las instrucciones de desinstalación se pueden encontrar aquí: http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
fuente
ejecutar este comando funcionó para mí en mi
mac OS Catalina
:compaudit | xargs chmod g-w,o-w
fuente
Solución MAC OS X:
También "user: staff = usuario root predeterminado en OSX.
fuente
Recibí este problema después de ejecutar el
google-cloud-sdk
script de instalación, que agrega la finalización de comandos al shell a través de una entrada en.zshrc
.Seguir las instrucciones de Homebrew para configurar las terminaciones en zsh fue útil.
fuente