Fix Oh My Zsh "Répertoires non sécurisés dépendants de l'achèvement détectés"
Si vous avez récemment installé Oh My Zsh ou mis à jour un Mac exécutant Oh My Zsh, vous pouvez rencontrer un grand écran de message d'erreur lors du lancement de nouvelles fenêtres de terminal. L'erreur indique généralement "Répertoires dépendants de l'achèvement non sécurisés détectés" et affiche une série de répertoires /usr/local/share/zsh/ dont les autorisations sont considérées comme non sécurisées par zsh.
Il y a deux choix pour traiter ce problème ; l'un étant d'ajuster les autorisations des utilisateurs pour les répertoires en question, et l'autre étant de désactiver le contrôle de vérification pour les répertoires non sécurisés.
Option 1 : Modification des autorisations sur les répertoires spécifiés
Une option pour modifier les autorisations consiste à utiliser chmod 755, qui correspond aux autorisations complètes pour le propriétaire (vous), et aux autorisations de lecture et d'exécution pour les autrespour les répertoires concernés. Par exemple:
chmod 755 /usr/local/share/zsh
chmod 755 /usr/local/share/zsh/site-functions
Vous pouvez bien sûr utiliser d'autres options d'autorisations qui vous conviennent mieux, mais 755 devrait résoudre le problème des répertoires non sécurisés avec Oh My Zsh.
(BTW, les autorisations par défaut pour ces répertoires pour la plupart des configurations sont de 775 pour rwxrwxr-x, si vous souhaitez revenir en arrière pour une raison quelconque).
Option 2 : Désactiver la vérification des répertoires non sécurisés
Si vous préférez ne pas modifier les autorisations, mais simplement supprimer la vérification de répertoire non sécurisée (qui ignore simplement la vérification, cela ne résout pas le problème de sécurité potentiel), vous pouvez ajouter ce qui suit à votre fichier .zshrc :
ZSH_DISABLE_COMPFIX=true
L'utilisation de nano est un moyen simple d'ajouter cela à votre fichier .zshrc ou à l'éditeur de texte de votre choix.
Encore une fois, cela ne résout pas la plainte d'autorisations, cela arrête simplement de vérifier les autorisations des répertoires spécifiés.
Pour de nombreux utilisateurs, garder /usr/local/share/zsh/ accessible à tous les comptes d'utilisateurs est souhaitable afin que tous les comptes d'utilisateurs sur le Mac puissent utiliser Oh My Zsh, mais pour les autres qui veulent plus environnement restrictif sur les machines utilisateur partagées, vous pouvez également modifier les autorisations en fonction de cela.Le choix vous appartient.
Le message d'erreur complet indique ce qui suit, qui vous indique en grande partie comment résoudre le problème, mais il n'est pas nécessairement écrit de la manière la plus concise pour obtenir immédiatement une résolution. Néanmoins, cela vaut la peine d'être lu et examiné, afin que vous compreniez quels sont les choix tels qu'élucidés par Oh My Zsh, et quelles sont les conséquences de chaque option pour se débarrasser du message de sécurité.
Si vous avez une autre méthode pour résoudre ce problème, n'hésitez pas à partager dans les commentaires.