Gebrochenes zsh mit chmod; versuchen, mit compaudit zu beheben

736
Xophmeister

Ich habe Homebrew zsh als Shell. Ich habe kein root auf meinem Rechner, aber ich habe ein zusätzliches Konto mit erhöhten Privilegien - so wurde es von meiner Arbeit eingerichtet und ich kann nichts dagegen tun - wo ich einige Dinge ändern kann und mit Homebrew usw. installieren

Aufgrund dieser widersprüchlichen Berichte hatte ich jedoch Probleme, andere Homebrew-Sachen aufgrund von Berechtigungsproblemen zum Laufen zu bringen. Also habe ich das gemacht:

sudo chmod -R a+rw /usr/local 

Jetzt wurde mein unmittelbares Problem behoben, aber infolgedessen ist meine Hülle zerbrochen. Jedes Mal, wenn ich eine neue Sitzung starte, bekomme ich Folgendes (was von der source $ZSH/oh-my-zsh.shZeile in meiner kommt .zshrc):

compdef: unknown command or service: git compdef: unknown command or service: git 

... gefolgt von der Aufforderung. Außerdem funktioniert die Tab-Vervollständigung nicht mehr. Andere Plugins funktionieren jedoch.

Ich habe versucht, meine rücksichtslose Haltung rückgängig zu machen chmodund den Anweisungen der Verwendung zu folgen compaudit(z. B. hier ), aber es scheint das Problem nicht zu beheben.

Aus Verzweiflung habe ich auch versucht, zsh von Homebrew vollständig zu deinstallieren und erneut zu installieren. Dies scheint die Ausgabe von geändert zu haben compaudit, so dass es jetzt auch eine Menge Dinge enthält /usr/local/Cellar/zsh/5.2/share/zsh/functions. Soweit ich sehen kann, hat alles hier (einschließlich des genannten Verzeichnisses) die richtigen Besitzer ( my_admin:admin) und Berechtigungen ( 0744). Ebenso compauditscheinen die anderen Dinge, die sich beschweren, in Ordnung.

Also bin ich ein bisschen festgefahren! Was versuche ich als nächstes?


UPDATE Also habe ich folgendes versucht:

sudo chmod -R MODE /usr/local/share/zsh /usr/local/Cellar/zsh/5.2/share/zsh 

... wo ich versucht habe, MODEs 0777, 0744, 0754und 0550.

Die erste gibt das ursprüngliche Problem - mit der Einschränkung, dass ein Plugin alle Tastatureingaben fehlschlägt - der Rest (dh der eingeschränkte Zugriff für Nicht-Besitzer) führt dazu, dass einige zsh / Oh My Zsh-Definitionen nicht geladen werden Fehler verursachen, wenn Oh My Zsh versucht, Plugins zu laden. Insbesondere wirft sie über colors, compinitund compdef(ähnlich, wenn ich versuche, nicht mehr definiert ist compaudit, ist es nicht).

Ich bin völlig verloren, was los ist / warum Berechtigungseinstellungen so viel Chaos verursachen sollten. Ich werde aufhören zu experimentieren, bevor ich mich komplett ausschloss, aber wenn jemand Vorschläge zur Lösung dieses Problems hat, wären sie sehr willkommen!

1
Cross-gepostet zu den GitHub-Ausgaben von OMZ: https://github.com/robbyrussell/oh-my-zsh/issues/5442 Xophmeister vor 7 Jahren 0
Ich habe gerade angefangen, etwas Ähnliches zu bekommen. Hast du ein Update gefunden? Marcel vor 6 Jahren 0
@ Marcel Das Problem war, dass mein verwalteter (ish) Laptop ein Superuser-Konto (das nicht root ist) hat, unter dem ich alles installieren muss. Mein reguläres Benutzerkonto muss jedoch mit dieser Software verwendet werden. Als ich Oh My Zsh mit Homebrew installiert habe, wurde der Besitzer von `/ usr / local / share / zsh / whatever` auf den Superuser-Account gesetzt. Wenn ich den Benutzer rekursiv auf mein reguläres Konto zurücksetze, wird das Problem behoben: `chown -R real_user / usr / local / share / zsh / was auch immer ... Es ist eine Art exotisches Setup, daher kann es für Sie nicht funktionieren. Xophmeister vor 6 Jahren 0
Ich habe jetzt "chmod 777 / usr / share / zsh -R" und "chown user: users / usr / share / zsh -R" gemacht und bekomme immer noch Probleme. "Sudo zsh" funktioniert jedoch einwandfrei. Ich bin so verwirrt. Marcel vor 6 Jahren 0

0 Antworten auf die Frage