Was bedeutet es und wie kann ich es beheben?
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Wenn Sie das compaudit
ausführen, wird Folgendes zurückgegeben:
There are insecure directories:
/usr/local/share/zsh/site-functions
zsh
zsh-completion
Alex
quelle
quelle
Antworten:
Das hat es für mich behoben:
Kredit: ein Beitrag auf zsh Mailingliste
EDIT: Wie von @biocyberman in den Kommentaren hervorgehoben. Möglicherweise müssen Sie auch den Eigentümer von aktualisieren
site-functions
:Auf meinem Computer (OSX 10.9) muss ich dies nicht tun, sondern YMMV.
EDIT2: Unter OSX 10.11 funktionierte nur dies:
Auch user: staff ist die korrekte Standardberechtigung unter OSX.
quelle
.zshenv
und.zshrc
den neuen Ordner reparieren und dasselbechmod
für den neuen Ordner tun, den ich mit dem Ordner gepostet habe.chmod
Befehl in geändertsudo chmod -R go-w zsh
./usr/local/share/zsh/site-functions
zu/usr/local/Cellar
und musstechown -R root:staff /usr/local/Cellar
auch, bevor dies funktionierte.wird den Trick machen, siehe http://www.wezm.net/technical/2008/09/zsh-cygwin-and-insecure-directories/
quelle
compaudit
verwendet werden kann, um Probleme wie diese zu diagnostizieren und sie zu beheben.compaudit | xargs chown root
compaudit | xargs chmod g-w
zusammen mitompaudit | xargs chown root
arbeitete auch für mich und schien HomeBrew glücklich zu machen. kann jemand erklären, was ein bisschen mehr los ist.Die meisten Antworten enthalten eine Lösung, erwähnen jedoch nicht, warum diese Warnung auftritt. Hier ist ein Auszug aus ZSHs Compinit :
Daher impliziert die Lösung die Behebung eines (oder aller) der folgenden Punkte:
Festlegen des aktuellen Benutzers als Eigentümer aller Verzeichnisse / Unterverzeichnisse / Dateien in Ursache:
Entfernen von Schreibberechtigungen für Gruppen / andere für die Dateien in Ursache:
Ein anderer Ansatz wäre, diese Überprüfungen mithilfe von zu überspringen
Aber ich schlage dies nicht wirklich vor, da das Verstecken von Problemen unter einem Teppich Probleme nur kurzfristig löst.
quelle
chown -R "$(whoami)"
Dateien außerhalb des/usr/local/
Ausgangsverzeichnisses nicht. Wäre es laut den Dokumenten nicht sinnvoller, die Dateien im Root-Besitz zu halten?Ich habe die gleichen Warnungen erhalten, als ich
sudo -i
eine Root-Shell gestartet habe. Die Lösung von @ chakrit hat bei mir nicht funktioniert.Aber ich habe einen
-u
Wechsel dercompinit
Werke gefunden, z. B. in Ihrer .zshrc / zshenv oder wo Sie angerufen habencompinit
NB: Nicht für das Produktionssystem empfohlen
Siehe auch http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization
quelle
Dies funktioniert für meinen Mac nach dem Update auf High Sierra.
Entfernen Sie den Gruppenschreibzugriff:
Es ist am besten, die Änderung auf den Umfang der zsh-Verzeichnisse zu beschränken.
quelle
Die akzeptierte Antwort hat bei macOs Sierra (10.12.1) bei mir nicht funktioniert. Musste es rekursiv von / usr / local machen
Hinweis: Sie können Ihren Benutzernamen mit
whoami
und Ihre Gruppe mit erhaltenid -g
quelle
Diese beiden Zeilen haben für mich behoben.
quelle
sudo chown -R $(whoami):root /usr/local/share/zsh
sudo chown -R $(whoami):root /usr/local/share/zsh/*
Unter macOS Sierra müssen Sie Folgendes ausführen:
sudo chown -R $(whoami):staff /usr/local
quelle
Ich habe es dadurch behoben
In meinem Fall haben andere Verzeichnisse in share / auch die Gruppe "staff" zugewiesen
quelle
auf Mojave hat dies den Trick getan:
sudo chmod go-w /usr/local/share
quelle
sudo chmod -R go-w /usr/local/share
Mein Vorschlag wäre, compaudit auszuführen und dann nur die Berechtigungen für die vom Audit gefundenen Verzeichnisse zu korrigieren. Stellen Sie sicher, dass die identifizierten Verzeichnisse keine Schreibberechtigungen für Gruppen oder andere haben.
quelle
Dies war das einzige, was für mich unter https://github.com/zsh-users/zsh-completions/issues/433#issuecomment-600582607 funktioniert hat . Vielen Dank an https://github.com/malaquiasdev !
quelle
Meine Maschine:
Also hier ist was ich getan habe,
run
compaudit
und es gibt Ihnen eine Liste der Verzeichnisse, die es für unsicher hält.ausgeführt
sudo chmod -R 755 target_directory
(Beispielsudo chmod -R 755 /usr/local/share/zsh
)Beispiel:
kehrt zurück:
also renne ich
Lesen Sie hier mehr Link
quelle
Heute Morgen wurden einige Pakete in meinem System aktualisiert und ich habe diese Fehlermeldung erhalten. Ich benutze Ubuntu 18.04.
Anscheinend hat etwas im Update den Benutzernamen und die Gruppe in Zahlen geändert, anstatt
root
wie folgt:Ich habe einfach den Benutzer und die Gruppe für diese Datei wieder geändert
root
und das Problem ist behoben. Ich habe nicht brauchen , um alle Berechtigungen zu ändern, und warnt vor dabei , wenn die zugrunde liegende Ursache des Problems zu verstehen ist.sudo chown root _code && sudo chgrp root _code
Nach dem Umschalten
131
und142
zurück zuroot
ging diese Fehlermeldung von zsh weg.quelle
run
compaudit
und es gibt Ihnen eine Liste von Verzeichnissen, die es für unsicher hältsudo chown -R username:root target_directory
sudo chmod -R 755 target_directory
quelle
Ich hatte in letzter Zeit die gleiche Warnung auf Catalina. Eine einfache Problemumgehung besteht darin, dies oben in Ihrem .zshrc zu platzieren
quelle
Keine der aufgeführten Lösungen hat bei mir funktioniert. Stattdessen habe ich Homebrew deinstalliert und neu installiert, was den Trick getan hat. Anweisungen zur Deinstallation finden Sie hier: http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
quelle
Das Ausführen dieses Befehls funktionierte für mich auf meinem
mac OS Catalina
:compaudit | xargs chmod g-w,o-w
quelle
MAC OS X-Lösung:
Auch "user: staff = Standard-Root-Benutzer unter OSX.
quelle
Ich habe dieses Problem nach dem Ausführen des
google-cloud-sdk
Installationsskripts erhalten, das der Shell über einen Eintrag in die Befehlsvervollständigung hinzufügt.zshrc
.Das Befolgen der Anweisungen von Homebrew zum Konfigurieren von Vervollständigungen in zsh war hilfreich.
quelle