Zsh: Permission Denied – So behest du den Fehler im Mac-Terminal
Ganz stolz wollte ich mein selbst geschriebenes Backup-Script starten, aber statt meine Daten zu sichern, erscheint nur die Fehlermeldung zsh: permission denied. Na toll, die Zsh-Berechtigung verweigert. Dabei bin ich doch der Admin meines Macs!
In diesem Artikel stelle ich dir einen speziellen Vertreter der Kategorie Fehlermedlungen vor: den Terminal-Fehler zsh: permission denied. Was bedeutet er, warum tritt er auf und – vor allem – wie wirst du ihn wieder los? Ich erkläre dir die Ursachen, zeige häufige Zugriffsrechte-Probleme und führe dich Schritt für Schritt durch die Lösungen.
Hier hakt es | So läuft es wieder |
Dateiberechtigungen fehlen | Öffne das Terminal > Gebe ls -l [Dateiname] ein > Wenn kein x sichtbar ist, setze das Ausführungsrecht mit chmod +x [Dateiname]. Alternativ: Rechtsklick > Informationen > unten unter Freigabe & Zugriffsrechte. |
Terminal darf nicht auf Dateien zugreifen | Systemeinstellungen > Datenschutz & Sicherheit > Festplattenvollzugriff > Terminal aktivieren oder hinzufügen > Mac neu starten. |
Du bist nicht der Besitzer der Datei | Öffne Terminal und tippe whoami, um deinen Benutzernamen zu prüfen. Dann: sudo chown [Benutzername] [Datei/Ordner]. |
Falscher Zugriffspfad oder unsaubere Eingabe | Ziehe Datei/Ordner direkt ins Terminal – so werden Leerzeichen und Sonderzeichen automatisch korrekt übertragen. |
Standard-Terminal ist zu umständlich oder limitiert | Probiere Alternativen wie Core Shell für SSH-Verbindungen oder Almighty, um Systemeinstellungen grafisch zu verwalten. Für Systemanalyse: iStat Menus. |
Was ist Mac-Terminal?
Das Mac-Terminal ist eine Kommandozeilen-App, in der du Befehle eintippst und das System sie ausführt – vorausgesetzt, du hast die nötigen Rechte.
So öffnest du den Mac-Terminal
Bevor du irgendetwas im Terminal machen kannst, musst du es erst einmal finden. Das geht ganz einfach:
- Drücke Command + Leertaste um Spotlight zu öffnen.
- Gebe Terminal ein und drücke Return.
Terminal öffnet ein neues Fenster und ist bereit für deine Eingabe. Alternativ findest du Terminal auch im Finder unter Programme > Dienstprogramme > Terminal.
Schritt-für-Schritt-Anleitungen zur Fehlerbehebung
Jetzt wirds praktisch. Du kennst die Ursachen – jetzt zeigen wir dir, wie du den Fehler behebst:
- Rechte prüfen und setzen
- Terminal Zugriff auf die Festplatte geben
- Besitz von Dateien richtig zuweisen
Dafür brauchst du nur ein paar Terminalbefehle und einen Abstecher in die Systemeinstellungen. Los gehts.
Überprüfung und Anpassung der Dateiberechtigungen
Bevor du deine Datei im Terminal ausführst, solltest du sicherstellen, dass dein Benutzerkonto die nötigen Zugriffsrechte hat – besonders das Ausführungsrecht (x). Sonst sagt zsh: Berechtigung verweigert.
So prüfst und änderst du die Dateiberechtigung im Terminal:
- Öffne Terminal.
- Wechsle mit cd [Pfad zu deiner Datei] in den Ordner wo deine Datei ist. In meinem Beispiel: cd ~/Development/scripts
- Gebe ls -l [Name deiner Datei] ein. In meinem Beispiel: ls -l meinBackup.sh
- Wenn im ersten Block das x fehlt, dann hast du kein Ausführungsrecht für diese Datei. In meinem Beispiel: - r w - r - - r - - Kein x!
- Füge das Ausführungsrecht mit chmod +x [Name deiner Datei] hinzu. In meinem Beispiel: chmod +x meinBackup.sh
- Gebe ls -l [Name deiner Datei] wieder ein, um das Ergebnis zu sehen. In meinem Beispiel wird - r w x r - x r - x angezeigt.
Du hast damit erfolgreich Ausführungsrechte für alle hinzugefügt.
Ausführungsrechte hinzufügen | Befehl |
Für Alle | chmod +x [Dateiname] |
Nur für mich | chmod u+x [Dateiname] |
Nur für die Gruppe | chmod g+x [Dateiname] |
Nur für alle anderen | chmod o+x [Dateiname] |
Um Ausführungsrechte zu entfernen, ersetze das + mit einem - z. B. chmod -x [Dateiname].
Du kannst Lese- und Schreibrechte, allerdings nicht die Ausführungsrechte auch ohne Terminal festlegen:
- Rechtsklick auf deine Datei und wähle Informationen.
- Im Informationsfenster klicke ganz unten auf das Schloss-Symbol und gebe dein Benutzerpasswort ein.
- Im Bereich Teilen & Zugriffsrechte kannst du nun für dich, deine Gruppe und alle anderen entweder Nur Lesen oder Lesen & Schreiben wählen.
TippWenn du einen Pfad nicht kennst oder unsicher bist, Rechtsklick auf deine Datei oder deinen Ordner im Finder. Im Kontext-Menü wähle [Dateiname] als Pfadname kopieren. Nun kannst du den Pfad mit Command + V im Terminal einfügen. Noch einfacher geht es, indem du deine Datei per Drag-and-drop in das Terminal-Fenster ziehst und loslässt. |
Mac Zugriffsrechte ändern im Terminal
Damit das Terminal überhaupt auf dein Dateisystem zugreifen kann, musst du ihm in den Systemeinstellungen den Vollzugriff erlauben:
- Öffne Spotlight mit Command + Leertaste.
- Tippe Systemeinstellungen ein und bestätige mit Return.
- Gehe zu Datenschutz & Sicherheit > Festplattenvollzugriff.
- Wenn Terminal bereits in der Liste steht, aktiviere den Schalter.
- Falls nicht, klicke auf das +, wähle Terminal aus und füge es hinzu.
Sobald Terminal gelistet und aktiviert ist, hat es Zugriff auf deine gesamte Festplatte. Um sicherzustellen, dass du deine Mac Zugriffsrechte im Terminal ändern konntest , solltest du deinen Mac neu starten bevor du es nochmal probierst.
Änderung des Besitzes von Dateien oder Verzeichnissen
Wenn du auf eine Datei oder einen Ordner nicht zugreifen kannst, obwohl alle Berechtigungen richtig aussehen, liegt das Problem oft am Eigentümer.
Das Terminal wird dir nicht erlauben, die Zugriffsrechte einer Datei zu verändern, wenn sie dir nicht gehört. Auf deine Bitte chmod +x nichtmeinBackup.sh, antwortet das Terminal:
chmod: Unable to change file mode on nichtmeinBackup.sh: Operation not permitted
Auf neudeutsch: Nö, das darfst du nicht.
Das darf nur ein Super-Benutzer tun, auf Englisch superuser do, kurz: sudo. Der sudo-Befehl gibt dir vollen Zugriff auf dein gesamtes System. Mächtig und daher immer mit Vorsicht zu verwenden. Nach Eingabe deines Benutzer-Passworts gehorcht dir das gesamte System - gehe vorsichtig damit um.
Alternative Terminals mit Zsh-Erlaubnis
Das Standard-Terminal auf dem Mac ist solide – aber eben auch schlicht. Wenn du regelmäßig mit Zsh arbeitest oder häufig auf Berechtigungsprobleme stößt, lohnt sich ein Blick auf Alternativen. Einige davon bringen bessere Rechteverwaltung, modernere Oberflächen oder nützliche Zusatzfunktionen mit.
Hier sind drei empfehlenswerte Terminal-Apps, die mit Zsh bestens klarkommen:
Terminal App | Besonderheit | Vorteile | Zielgruppe |
Core Shell | Volles SSH-Terminal (wie OpenSSH), mit Drag-and-Drop für Dateien, Tags für Hosts und Farb-Themes | Einfaches und schnelles Admin-Tool für Remote-Server – mit automatischer Wiederverbindung, Keychain-Zugriff und klarer Host-Übersicht | Entwickler, Admins, Remote-Arbeitende |
Almighty | Enthält über 50 praktische Tricks und System-Tweaks wie Clipboard-Clearing, versteckte Datei-Sichtbarkeit, Dock-Anpassungen und sogar Spotlight-Shortcuts | Macht macOS-Optimierungen per Klick oder Shortcut zugänglich – ersetzt viele Einzel-Tools, spart Zeit und Vorwissen | Power-User, die lieber klicken als tippen |
iStat Menus | Anpassbarer Systemmonitor in der Menüleiste – verfolgt CPU, GPU, RAM, Festplatten, Netzwerk, Sensoren, Batterie, Wetter und mehr, mit umfangreichen Benachrichtigungen | Volle Kontrolle & Überblick über Systemzustand, Warnmeldungen bei Schwellenwerten, anpassbares Design – ideal für Performance- und Stabilitätsbewahrer | Fortgeschrittene Nutzer mit Fokus auf Performance |
Wenn du regelmäßig mit Berechtigungen, Skripten oder Systembefehlen arbeitest, kann eine dieser Apps dir nicht nur Ärger ersparen – sondern auch Zeit.
Zusätzliche Tipps zur Vermeidung zukünftiger Berechtigungsfehler
Damit du nicht ständig „permission denied“-Fehler bekommst, hier ein paar praktische Tipps:
- Berechtigungen regelmäßig checken – im Terminal mit ls -l oder Finder > Informationen.
- Terminalzugriff nach Updates prüfen – manchmal musst du ihn neu freigeben.
- Finger weg von Systemdateien – nur eigene oder importierte Dateien ändern.
- Externe Laufwerke richtig formatieren – am besten exFAT für den Austausch zwischen Windows und macOS.
- Nach Back-ups Berechtigungen prüfen – alte Rechte können Probleme machen.
Wenn du regelmäßig kontrollierst und vorsichtig arbeitest, sparst du dir viel Stress.
Hauptursachen für den Fehler Zsh: Permission Denied
Der Fehler zsh: permission denied klingt erst einmal so, als hätte dein Mac plötzlich beschlossen, dir das Leben schwer zu machen. Tatsächlich steckt dahinter aber meist eine sehr konkrete Ursache – und die lässt sich mit ein wenig Hintergrundwissen und ein paar gezielten Handgriffen beheben.
In den folgenden Abschnitten zeige ich dir die drei häufigsten Gründe, warum dir das Terminal den Zugriff verweigert:
- Dir fehlen die nötigen Berechtigungen für Dateien oder Skripte.
- Das Terminal hat keinen Vollzugriff auf deine Festplatte.
- Die Datei oder das Verzeichnis gehört einem anderen Benutzer
Sobald du weißt, woran es liegt, kannst du den Fehler schnell beheben – und dir bleibt der Griff an den Kopf künftig erspart.
Unzureichende Berechtigung für Dateien
Wenn du im Terminal eine Datei ausführen oder bearbeiten willst, braucht dein Benutzerkonto die passenden Rechte – sonst sagt zsh: Berechtigung verweigert. Die häufigste Ursache ist ein fehlendes Ausführungsrecht für ein Skript oder eine Datei.
Jede Datei auf deinem Mac hat sogenannte Zugriffsrechte. Diese regeln, ob du:
- die Datei lesen darfst (r für read),
- verändern darfst (w für write) oder
- ausführen darfst (x für execute – notwendig für Skripte und Programme).
Wenn das x fehlt, bekommst du beim Ausführen des Skripts einen Berechtigungsfehler – selbst wenn du die Datei selbst erstellt hast.
Um Berechtigungen einer Datei anzuzeigen, gebe ls -l [Dateiname] ein. In meinem Beispiel möchte ich die Berechtigungen von meinBackup.sh anzeigen, gebe also ls -l meinBackup.sh ein und bestätige mit Return.
Mein Terminal antwortet mit -rw-r--r-- 1 west staff 12 May 20 10:27 meinBackup.sh.
Das bedeutet:
- rw- > Der Besitzer (west) darf lesen und schreiben.
- r-- > Die Gruppe (staff) darf nur lesen.
- r-- > Alle anderen dürfen ebenfalls nur lesen.
Keiner darf die Datei ausführen, denn das x fehlt vollständig. Als Besitzer der Datei könnte ich die Datei ausführen wenn meine Berechtigungen rwx wären. Sind sie aber nicht, daher verweigert Terminal die Zsh-Berechtigung wenn ich versuche mein Backup-Script zu starten.
Fehlender Vollzugriff des Terminals auf die Festplatte
Selbst wenn du einer Datei alle Rechte gibst, kann dein Terminal trotzdem blockieren – besonders seit macOS strengere Datenschutzrichtlinien eingeführt hat. macOS schützt systemkritische Verzeichnisse wie Schreibtisch, Dokumente, Downloads - selbst vor Terminal-Apps ohne ausdrückliche Freigabe. Damit du dort trotzdem arbeiten kannst, musst du dem Terminal in den Systemeinstellungen explizit erlauben, auf dein Dateisystem zuzugreifen.
Falscher Besitzer des Verzeichnisses oder der Datei
Ein häufiger Grund für den zsh: permission denied-Fehler ist, dass du nicht der Besitzer der Datei oder des Ordners bist. Dann fehlen dir oft die nötigen Rechte - auch als Admin. Das kann mehrere Gründe haben:
- Du hast Dateien per externer Festplatte oder USB-Stick auf den Mac kopiert.
- Du hast etwas mit sudo oder unter einem anderen Benutzerkonto erstellt.
- Du hast Dateien aus einem Backup, Time Machine oder einem anderen System importiert.
macOS erlaubt dir nur dann das Arbeiten mit Dateien, wenn:
- Du entweder der Besitzer bist oder
- Du explizit die entsprechenden Rechte bekommen hast.
Der Besitzer lässt sich mit dem richtigen Befehl oder über die Systemeinstellungen korrigieren. Wie genau, zeige ich dir jetzt.
Warum brauchst du einen Terminal?
Viele halten das Terminal für ein veraltetes Tool – doch wer es nutzt, merkt schnell: Es ist ein mächtiges Werkzeug mit Funktionen, die per Mausklick nicht erreichbar sind. Dein Terminal kann dir z. B. helfen wenn du:
- Tief ins System eingreifen willst (um z. B. versteckte Dateien sichtbar zu machen),
- Automatisierungen per Shell-Skripte schreiben möchtest,
- Software installieren willst, die es nicht im App Store gibt,
- Oder einfach effizienter arbeiten willst als mit zig Klicks im Finder.
Auch wenn das Terminal Respekt einflößen kann – die meisten Befehle lassen sich schnell lernen. Und mit Tools wie Core Shell oder Almighty wird der Einstieg sogar noch einfacher.
Zsh: Permission Denied
Der Fehler zsh: permission denied ist zwar lästig, aber in den meisten Fällen schnell behoben. Ob fehlende Ausführungsrechte, eingeschränkter Festplattenzugriff oder falsche Besitzverhältnisse – mit dem richtigen Wissen und ein paar gezielten Befehlen kannst du dein Terminal wieder zuverlässig nutzen.
Wenn du regelmäßig mit Skripten oder Systemdateien arbeitest, lohnt sich ein Blick auf die vorgestellten Terminal-Alternativen, die dir helfen, Berechtigungen im Blick zu behalten und dein System stabil zu halten – ganz ohne Frust.
Über Setapp kannst du Core Shell, Almighty oder iStat Menus sieben Tage lang kostenlos testen – Teil eines Pakets mit über 260 leistungsstarken Tools für macOS und iOS, die dich produktiv, sicher und effizient arbeiten lassen.
FAQ
Was bedeutet der Fehler "zsh: permission denied"?
Der Fehler zsh: permission denied
bedeutet, dein Mac lässt dich eine Datei nicht öffnen oder einen Befehl nicht ausführen – meist, weil dir die nötigen Rechte fehlen. Typische Gründe:
- Das Skript ist nicht ausführbar.
- Das Terminal hat keinen Festplattenzugriff.
- Du bist nicht der Besitzer der Datei.
- Du darfst nicht, was du willst – also Rechte checken, Zugriff erlauben oder Besitzer ändern.
Wie kann ich die Berechtigungen einer Datei überprüfen?
Die Berechtigungen einer Datei kannst du am einfachsten überprüfen, indem du sie im Terminal aufrufst:
- Drücke Command + Leertaste um Spotlight zu öffnen.
- Gebe Terminal ein und drücke Return.
- Tippe ls -l [Dateiname] und bestätige mit Return.
Das Terminal zeigt dir, welche Rechte der Besitzer, die Gruppe und andere Nutzer haben.
Alternativ kannst du im Finder mit Rechtsklick auf die Datei > Informationen unter Teilen & Zugriffsrechte prüfen, wer lesen oder schreiben darf.
Welche Terminal-Apps gibt es, um Berechtigungsprobleme zu vermeiden?
Folgende Terminal-Apps helfen dir, Berechtigungsprobleme zu vermeiden, Rechte einfacher zu verwalten und Probleme frühzeitig zu erkennen:
- Core Shell: SSH-Terminal mit Host-Management, ideal für sichere Remote-Verbindungen.
- Almighty: System-Tweaks per Mausklick – auch für Terminal-Funktionen und Rechte.
- iStat Menus: Systemmonitor mit Überblick über Prozesse, Ressourcen und Terminal-Auslastung.
Alle drei Apps findest du im Setapp-Abo und kannst sie dort sieben Tage lang kostenlos testen.