So beheben Sie den Fehler „Permission Denied“ unter Linux (Linux Permission Denied)

Im Betriebssystem Linux erfordert das Ausführen von Befehlen die entsprechenden Berechtigungen. Jeder Datei und jedem Verzeichnis sind Berechtigungen wie Lesen, Schreiben oder Ausführen zugeordnet. 

Angenommen, unter Linux tritt der Fehler „chmod permission denied“ oder „Linux permission denied“ auf. In diesem Fall fehlen Ihrem Benutzerkonto die erforderlichen Berechtigungen, oder Sie haben nicht genügend Lese-, Schreib- oder Ausführungsrechte für eine Datei oder ein Verzeichnis, das Sie verwenden möchten. 

Dieser Fehler lässt sich beheben, indem Sie den entsprechenden Zugriff auf die Datei oder das Verzeichnis erhalten. Berechtigungen unter Linux weisen Benutzern und Gruppen Zugriff zu, um Dateien unabhängig voneinander zu lesen, zu schreiben oder auszuführen. Dass Sie eine Datei öffnen können, garantiert noch keine Bearbeitungsrechte.

Diese Anleitung zeigt, wie Sie den Fehler „Permission Denied“ unter Linux beheben. Die vorgestellten Lösungen umfassen das Anpassen von Dateiberechtigungen und den Zugriff auf geschützte Dokumente durch den Wechsel zum Root-Konto. Folgen Sie den unten beschriebenen Schritten, um die Dateiberechtigungen zu bearbeiten und den Fehler zu beheben.

Was sind die Ursachen des Fehlers „Permission Denied“ unter Linux? (Root Permission Denied)

Der Fehler „Permission Denied“ unter Linux tritt auf, wenn Sie versuchen, einen Befehl auszuführen, ohne die erforderliche Ausführungsberechtigung zu besitzen. Ebenso sind Lese- oder Schreibvorgänge eingeschränkt, wenn die entsprechenden Berechtigungen für Dateien oder Verzeichnisse fehlen. Linux-Berechtigungen sind wichtig für die Sicherheit des Systems, da sie Daten vor unbefugtem Zugriff schützen. Nachfolgend haben wir gängige Berechtigungen aufgeführt, die unter Linux auf eine Datei oder ein Verzeichnis angewendet werden:

Lesen (r): Ermöglicht das Anzeigen des Inhalts einer Datei oder eines Verzeichnisses. Mit Leseberechtigung können Sie beispielsweise den Inhalt einer Textdatei lesen oder die Dateien eines Verzeichnisses auflisten.

Schreiben (w): Erlaubt das Ändern von Dateiinhalten oder das Erstellen neuer Dateien in einem Verzeichnis. Ohne Schreibberechtigung sind Änderungen an Dateien oder Ergänzungen in Verzeichnissen nicht zulässig.

Ausführen (x): Speziell für Dateien mit ausführbarem Code wie Shell-Skripte oder ausführbare Binärdateien. Die Ausführungsberechtigung ermöglicht es, diese Dateien als Programme auszuführen.

Diese Berechtigungen gelten für drei Benutzerkategorien:

Eigentümer (u): Der Benutzer, dem die Datei oder das Verzeichnis gehört.

Gruppe (g): Eine festgelegte Gruppe von Benutzern, der die Datei oder das Verzeichnis zugeordnet ist.

Andere (o): Alle Benutzer, die weder Eigentümer noch Mitglied der Gruppe sind.

Neben diesen grundlegenden Berechtigungen bietet Linux erweiterte Funktionen wie setuid, setgid und Sticky Bits, die beeinflussen, wie Berechtigungen für bestimmte Dateien und Verzeichnisse wirken.

In welchen Situationen tritt der Fehler „Permission Denied“ unter Linux typischerweise auf?

Fehler vom Typ „Permission Denied“ können unter Linux aufgrund der robusten Sicherheitsmaßnahmen in verschiedenen Situationen auftreten. Diese typischen Szenarien zu kennen, ist für eine effektive Fehlerbehebung und Vorbeugung unerlässlich. Hier einige typische Beispiele, in denen Fehler wie „permission denied as root“ auftreten:

  • Benutzer können beim Installieren oder Aktualisieren von Softwarepaketen mit Paketmanagern wie apt oder yum auf Fehler vom Typ „Permission Denied“ stoßen. Das passiert, wenn ihnen die erforderlichen Rechte fehlen, um Systemdateien oder Verzeichnisse zu ändern, in denen Pakete installiert werden.
  • Das Ändern von Systemkonfigurationsdateien, etwa im Verzeichnis /etc, erfordert in der Regel Root- oder sudo-Rechte. Benutzer erhalten möglicherweise Fehler vom Typ „Permission Denied“, wenn sie versuchen, diese wichtigen Dateien ohne den erforderlichen Zugriff zu bearbeiten.
  • In einer Netzwerkumgebung kann der Zugriff auf freigegebene Verzeichnisse oder Dateien auf entfernten Servern zu Fehlern vom Typ „Permission Denied“ führen, wenn der Benutzer nicht über die erforderlichen, vom entfernten System gewährten Berechtigungen verfügt.
  • Berechtigungsprobleme können auftreten, wenn Benutzer versuchen, in ihren Home-Verzeichnissen Aktionen auszuführen, etwa Dateien und Verzeichnisse zu erstellen, zu löschen oder zu ändern.
  • Das Ausführen von Shell-Skripten oder ausführbaren Dateien ohne die entsprechenden Ausführungsberechtigungen kann Fehler vom Typ „Permission Denied“ auslösen. Benutzer müssen sicherstellen, dass Skripte über die erforderlichen Ausführungsberechtigungen verfügen.
  • Benutzer können auf Probleme stoßen, wenn sie versuchen, den Eigentümer von Dateien oder Verzeichnissen zu ändern, ohne die für die Eigentumsübertragung erforderlichen Berechtigungen zu besitzen.

Wie behebt man den Fehler „Permission Denied“ unter Linux? (chmod Permission Denied)

Um den Fehler „Permission Denied“ unter Linux zu beheben, prüfen Sie zunächst mit dem folgenden Befehl Ihre Rechte für die betreffende Datei oder den Ordner:

$ ls -la

Der Befehl „ls“ zeigt eine detaillierte Auflistung aller Dateien und Ordner einschließlich ihrer Berechtigungen an, wie unten dargestellt.

Der Fehler „Permission Denied“ kann sowohl bei Dateien als auch bei Verzeichnissen auftreten. Hier ein Beispiel dafür, wie er aussieht, wenn Sie versuchen, ein Skript ohne die erforderlichen Ausführungsberechtigungen für ein Benutzerkonto auszuführen:

Wenn Sie diese Art von Fehler erhalten, bedeutet das, dass Ihrem aktuellen Benutzerkonto die erforderlichen Berechtigungen fehlen, um wie beabsichtigt mit der Datei zu arbeiten. Um diesen Fehler zu beheben, können Sie die Befehle chown oder chmod verwenden, um die Berechtigungen anzupassen und den erforderlichen Zugriff auf die Datei zu gewähren.

Führen Sie die folgenden Schritte aus, um den Fehler „Permission Denied“ unter Linux zu beheben:

Schritt 1: Prüfen Sie zunächst mit dem Befehl ls -l die der Datei zugewiesenen Berechtigungen. Dieser Befehl liefert detaillierte Informationen über Eigentümer, Gruppe und Berechtigungen einer beliebigen angegebenen Datei oder eines Verzeichnisses. Geben Sie dabei unbedingt den Pfad der Datei oder des Verzeichnisses als Argument an.

$ ls -la test.sh

Die obige Ausgabe zeigt, dass sowohl der Eigentümer als auch die Gruppe Lese- und Schreibrechte besitzen, während andere Benutzer nur Leserechte haben. Bemerkenswert ist, dass der Datei keine Ausführungsberechtigungen zugewiesen sind. Dieses Fehlen von Ausführungsberechtigungen erklärt, warum der Fehler beim Versuch, sie auszuführen, auftritt.

Schritt 2: Um den Fehler „Permission Denied“ unter Linux zu beheben, gewähren Sie die erforderlichen Berechtigungen mit dem Befehl chmod. Weisen Sie einer Datei beispielsweise mit dem folgenden Befehl Lese-, Schreib- und Ausführungsrechte zu:

$ chmod +rwx test.sh

Schritt 3: Nachdem Sie die entsprechenden Berechtigungen zugewiesen haben, führen Sie das Testskript mit dem folgenden Befehl erneut aus:

$./test.sh

Nun sehen Sie, dass die Ausgabe des Shell-Skripts in Ihrem Terminalfenster erscheint.

Fehler „Permission Denied“ behoben (chown Permission Denied)

Um den Fehler „Permission Denied“ zu beheben, übernehmen Sie bei Bedarf das Eigentum an der Datei, was Ihnen in der Regel mehr Berechtigungen als anderen Benutzern verleiht. Alternativ können Sie die Berechtigungen nach Bedarf anpassen. Verwenden Sie den Befehl chown, um den Eigentümer der Datei auf einen bestimmten Benutzer zu ändern, zum Beispiel samreena.

$ chown samreena test.sh

Alternativ kann anstelle des symbolischen Modus (rwx) der absolute Modus verwendet werden, der durch Zahlenwerte dargestellt wird. Hier ein Beispiel:

Volle Berechtigungen (Lesen, Schreiben, Ausführen) ausschließlich für den Eigentümer der Datei und Leserechte für alle anderen Benutzer gewähren:

$ chmod 744 file-name

Volle Berechtigungen (Lesen, Schreiben, Ausführen) für alle Benutzer gewähren:

$ chmod 777 file-name

In diesem Beispiel steht die Ziffer 7 für den Eigentümer und bedeutet volle Berechtigungen (rwx), die sich wie folgt zusammensetzen:

  • 4 für Lesen;
  • 2 für Schreiben;
  • 1 für Ausführen.

Das ergibt in Summe 7 und gewährt dem Eigentümer vollen Zugriff.

Die Ziffer 4 steht für die Gruppe und bedeutet reine Leserechte (r--):

4 für Lesen;

Gruppenmitglieder erhalten keine Schreib- oder Ausführungsrechte.

Ebenso bedeutet die Ziffer 4 für andere Benutzer reine Leserechte (r--) mit:

4 für Lesen;

Keine Schreib- oder Ausführungsrechte für alle anderen Benutzer.

In der Oktaldarstellung ist jede Ziffer die Summe ihrer einzelnen Berechtigungen (4 für Lesen, 2 für Schreiben, 1 für Ausführen), während 0 bedeutet, dass keine Berechtigungen gesetzt sind. Die erste Ziffer legt die Berechtigungen für den Benutzer fest, die zweite für die Gruppe und die dritte für andere.

Tipps zur Fehlerbehebung bei Fehlern vom Typ „Permission Denied“:

Die Ursache von Fehlern vom Typ „Permission Denied“ zu ermitteln, ist wichtig, um sie effektiv zu beheben. Hier einige Tipps zur Fehlerbehebung, die Ihnen helfen, das Problem zu erkennen und zu lösen:

Fehlermeldungen prüfen: Achten Sie auf Fehlermeldungen, um Hinweise auf das Berechtigungsproblem zu erhalten.

Logdateien prüfen: Untersuchen Sie die Systemlogs auf relevante Einträge im Zusammenhang mit Berechtigungen.

Dateiberechtigungen überprüfen: Stellen Sie mit ls -l sicher, dass die Berechtigungen korrekt gesetzt sind.

Eigentümer bestätigen: Überprüfen Sie, wem die Datei oder das Verzeichnis gehört.

sudo oder su verwenden: Erwägen Sie, sudo oder su für erweiterte Rechte zu verwenden.

Speicherplatz prüfen: Unzureichender Speicherplatz kann Berechtigungsfehler verursachen.

Netzwerkzugriff: Stellen Sie sicher, dass die Netzwerkkonfiguration für den Zugriff auf entfernte Dateien korrekt eingerichtet ist.

Fazit 

In dieser Anleitung haben Sie erfahren, wie Sie den Fehler „Permission Denied“ auf einem Linux-System beheben. Dieser Fehler tritt auf, wenn die grundlegenden Berechtigungen zum Lesen, Schreiben oder Ausführen einer Datei oder eines Verzeichnisses fehlen. 

Zu den besprochenen Lösungen gehören das Anpassen von Dateiberechtigungen mit dem Befehl chmod, das Ändern des Eigentümers mit chown oder die Nutzung von Administratorrechten über sudo. Beachten Sie, dass das Root-Benutzerkonto unabhängig von den konfigurierten Berechtigungen stets volle Berechtigungen für jede Datei besitzt.

Dieser Leitfaden behandelt verschiedene Methoden, um Fehler vom Typ „Permission Denied“ unter Linux mit den oben aufgeführten Befehlen und Methoden zu beheben. Wenn Sie andere Ansätze kennen, um dasselbe Ziel zu erreichen, teilen Sie diese gern im Kommentarbereich. Außerdem können Sie einen Linux-VPS-Server erwerben, um die hier genannten Befehle zu üben und zu testen.