¿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 compauditdevuelve 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
.zshenvy.zshrcusar la nueva carpeta y hacer lo mismochmoden la nueva carpeta que publiqué con la carpeta.chmodcomando asudo chmod -R go-w zsh./usr/local/share/zsh/site-functionsque/usr/local/Cellare tenido quechown -R root:staff /usr/local/Cellartambién antes de esto funcionó.hará el truco, consulte http://www.wezm.net/technical/2008/09/zsh-cygwin-and-insecure-directories/
fuente
compauditse puede utilizar para diagnosticar problemas como estos y solucionarlos.compaudit | xargs chown rootcompaudit | xargs chmod g-wjunto conompaudit | xargs chown roottrabajó 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 -iun shell raíz, la solución de @ chakrit no funcionó para mí.Pero encontré el
-ucambio decompinitobras, por ejemplo, en su .zshrc / zshenv o donde llamócompinitNB: 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
whoamiy su grupo conid -gfuente
Estas dos líneas me han arreglado.
fuente
sudo chown -R $(whoami):root /usr/local/share/zshsudo chown -R $(whoami):root /usr/local/share/zsh/*En macOS Sierra necesitas ejecutar:
sudo chown -R $(whoami):staff /usr/localfuente
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/sharefuente
sudo chmod -R go-w /usr/local/shareMi 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
compaudity 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
rooty 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 _codeDespués de cambiar
131y142volver aroot, este mensaje de error de zsh desapareció.fuente
ejecutar
compaudity le dará una lista de directorios que considera insegurossudo chown -R username:root target_directorysudo chmod -R 755 target_directoryfuente
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-wfuente
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-sdkscript 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