Behebung des zsh-Fehlers: Zugriffsverweigerung unter Linux oder macOS

Der Fehler „zsh: Zugriff verweigert“ tritt auf, wenn Sie unter Linux oder macOS einen Befehl ausführen möchten und nicht über die erforderlichen Ausführungsrechte verfügen. Dies kann beispielsweise der Fall sein, wenn Sie `ls` in einem Verzeichnis ausführen, für das Sie keine Schreibrechte besitzen, oder ein Skript ausführen, das Aktionen durchführt, zu denen Ihr Benutzer nicht berechtigt ist. Mit „Rechten“ sind hier Lese- oder Schreibrechte gemeint.

Schauen wir uns zunächst den Hauptgrund für diesen Fehler an und probieren wir dann jede Lösung einzeln aus, um zu sehen, welche die beste ist.

Dieser Fehler tritt hauptsächlich dann auf, wenn Sie keine Ausführungs-, Schreib- oder Leseberechtigung für die Datei besitzen.

Nehmen wir an, wir befinden uns in einer Zsh-Shell auf einem Linux-Betriebssystem und versuchen, den Inhalt einer Datei mit dem Befehl 'cat' anzuzeigen, erhalten aber die Fehlermeldung 'Zugriff verweigert'.

Um diesen Fehler zu beheben, müssen wir zunächst die Dateiberechtigungen überprüfen. Wir führen folgenden Befehl aus: „ls -l“ Um die Berechtigungen anzuzeigen.

Wie Sie sehen können, sind die Berechtigungen so eingestellt, dass nur der Root-Benutzer und die Root-Gruppe die Datei lesen können, während nur der Root-Benutzer in die Datei schreiben kann.

1. Verwendung von sudo

Die einfachste Lösung, um dieses Problem zu beheben, ist die Verwendung von 'sudo' Mit dem Befehl, den wir ausführen möchten. Dadurch wird der Befehl als Root-Benutzer ausgeführt. In Ihrem Fall können Sie auch „sudo“ verwenden, wenn Sie sicher sind, dass der auszuführende Befehl oder die auszuführende Aufgabe Ihrem Computer nicht schaden wird.

Wir können daher wie folgt vorgehen:

sudo cat Datei

2. Ändern der Dateiberechtigungen

Als nächstes können wir die Dateiberechtigungen ändern. Da der Fehler „Zugriff verweigert“ üblicherweise durch fehlende Lese- oder Schreibberechtigungen verursacht wird, können wir die Berechtigungen dieser Datei oder der betreffenden Dateien ändern.

Durch die Umsetzung 'ls -l' Im Verzeichnis, in dem sich die Datei befindet, können wir sehen, dass der Dateibesitzer und seine Gruppe root sind.

Wir können den Eigentümer auf unseren Benutzer ändern und dann mit der Datei machen, was wir wollen.

Wir können den Betrieb aufrechterhalten:

sudo chown [Benutzer] [Dateiname]

Da in unserem Beispiel v3n0m der Benutzer ist, mit dem wir uns angemeldet haben, geben wir den Befehl wie folgt aus:

sudo chown v3n0m Datei

v3n0m ist unser Benutzername. In Ihrem Fall wäre es Ihr Benutzername.

Jetzt können wir cat auf die Datei anwenden, da es keinen Fehler mehr ausgibt. Zugang verweigert.

3. Durchsetzungsbefugnisse aktivieren

In Zsh und anderen Shells können Sie mit `./` und einem Dateinamen eine Datei als Programm ausführen. Sind die Ausführungsberechtigungen für die Datei jedoch nicht gesetzt, erhalten Sie die Fehlermeldung „zsh: Zugriff verweigert“.

Angenommen, wir möchten ein Skript namens script1 ausführen. Wir geben ./script1 in unser Terminal ein und erhalten folgende Fehlermeldung:

Wir führen `ls -la` für die Datei aus, um die Berechtigungen anzuzeigen. Wie Sie sehen, sind die Ausführungsberechtigungen für die Datei nicht gesetzt.

Die Lösung ist hier einfach: Man muss der Datei Ausführungsberechtigungen hinzufügen.
Wir erteilen einen einfachen Auftrag

chmod +x script1

Er wird hinzufügen:chmod + x` Durchführung على Dateiberechtigungen für Eigentümer, Gruppe und andere.

Jetzt können wir die Datei als Programm ausführen, indem wir ` eingeben./script1Ohne jeden Fehler.

Dieser Fehler sollte sich unter Linux von selbst beheben; falls er jedoch unter macOS oder Gradle auftritt, lesen Sie bitte den Artikel weiter.

Bearbeiten Sie Ihre zshrc-Datei (macOS).

Einige macOS-Benutzer haben ein Problem gemeldet, das auftritt, wenn sie `zsh` verwenden und sich nicht in dem Verzeichnis befinden, aus dem sie einen Befehl ausführen möchten.

Sollten Sie auf ein ähnliches Problem stoßen, ist die Lösung ganz einfach.

Sie müssen die Datei ` bearbeiten.zshrcIm LeitfadenStartseite/BenutzernameFügen Sie Ihre eigene Zeile am Ende der Datei hinzu.

setopt auto_cd

Dies wird die Funktion `auto_cd` in `zsh`.

Eine Datei bearbeiten.zshrcSie können jeden beliebigen grafischen Texteditor oder Befehlszeilen-Texteditor wie `vim` oder `vi` verwenden.

Berechtigungen mit dem CHMOD-Befehl festlegen (Gradle)

Der Fehler „zsh: Zugriff verweigert“ kann auftreten, wenn Sie mit Gradle arbeiten und Ihre `gradlew`-Datei nicht die korrekten Berechtigungen besitzt.

Um einen solchen Fehler zu beheben, müssen Sie Folgendes einstellen: Die korrekten Berechtigungen für gradlew.

Sie können diesen Befehl in Ihr Terminal eingeben.

chmod 755 gradlew

Dadurch wird die Datei `gradlewEs ist machbar und der Fehler wird behoben.

Oder Sie können einfach diesen Befehl eingeben:chmod +x gradlew`

Dadurch wird auch die `gradlew`-Datei ausführbar.

Falls keine dieser Lösungen für Sie funktioniert, hinterlassen Sie gerne unten einen Kommentar. Unser Techniker wird Ihnen umgehend weiterhelfen.

 

Kommentare sind geschlossen.