Website-Suche

Behebung des Fehlers „Berechtigung verweigert“ beim Ausführen des Bash-Skripts unter Linux


Dieses kurze Tutorial hilft Ihnen, den Fehler „Berechtigung verweigert“ zu beheben, während Sie die Bash-Skripte in Ubuntu und anderen Linux-Distributionen ausführen.

Die Fehlermeldung „Berechtigung verweigert“ beim Versuch, ein Bash-Skript (.sh) auszuführen, kann für neue Linux-Benutzer überwältigend sein. Dieser umfassende Leitfaden hilft Ihnen dabei, das Problem sofort zu beheben.

Fehler „Berechtigung verweigert“ beim Ausführen des Bash-Skripts unter Linux

Der Fehler „Berechtigung verweigert“ tritt hauptsächlich aufgrund des Zugriffs auf. Ihrem Skript fehlen die erforderlichen Berechtigungen, um bestimmte Aktionen auszuführen, sei es das Lesen von Dateien, das Schreiben von Daten oder die Interaktion mit Systemressourcen. Hier sind zum Beispiel einige der Gründe:

  • Fehlende Ausführungsberechtigung: Das Skript selbst verfügt möglicherweise nicht über die erforderliche Ausführungsberechtigung.
  • Falscher Dateispeicherort: Der Versuch, das Skript aus einem Verzeichnis auszuführen, in dem Sie keine Berechtigung zum Ausführen von Dateien haben, löst ebenfalls den Fehler aus.
  • Fehlende Abhängigkeiten: Einige Skripte basieren auf externen Programmen oder Bibliotheken. Wenn diese fehlen oder nicht zugänglich sind, erhalten Sie möglicherweise diese Fehlermeldung.
  • SELinux-Einschränkungen (erweitert): Security-Enhanced Linux (SELinux) fügt eine zusätzliche Sicherheitsebene hinzu, die manchmal die Skriptausführung blockieren kann.

Beheben Sie den Fehler „Berechtigung verweigert“, indem Sie eine Berechtigung zuweisen

  • Verwenden Sie ls -l , um die Berechtigungen des Skripts anzuzeigen. Suchen Sie nach dem „x“ in der dritten Zeichengruppe (Besitzerberechtigungen). Wenn es fehlt, ist das Ihr Schuldiger!
  • Verwenden Sie chmod +x your_script.sh , um die Berechtigung „x“ für den Eigentümer hinzuzufügen (ersetzen Sie „your_script.sh“ durch den tatsächlichen Dateinamen).
  • Dies sollte in den meisten Fällen behoben sein. Wenn nicht, sehen Sie sich die folgenden zusätzlichen Schritte an.

Die Ausführungsberechtigung wird festgelegt, um den Fehler zu beheben

Zusätzliche Schritte zur Behebung

  • Stellen Sie sicher, dass Sie das Skript aus einem Verzeichnis mit Ausführungsberechtigungen ausführen. Verwenden Sie pwd , um Ihren aktuellen Standort zu überprüfen.
  • Navigieren Sie zu einem Verzeichnis mit Ausführungsberechtigungen, bevor Sie das Skript ausführen. Verwenden Sie cd /path/to/directory um das Verzeichnis zu wechseln.
  • Wenn SELinux das Problem ist, finden Sie in der entsprechenden Dokumentation Informationen zu spezifischen Richtlinienanpassungen. Dies ist so, als würde man mit dem Pförtner verhandeln, um Zutritt zu erhalten.

Schlussnotizen

Ich hoffe, dass Sie den Fehler beheben können, nachdem Sie die oben genannten Schritte zur Fehlerbehebung ausgeführt haben. Hier einige Referenzen für Sie in diesem Zusammenhang:

  • SELinux verwalten: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index
  • Fehlerbehebung bei Bash-Skripten: https://www.gnu.org/software/bash/manual/

Verwandte Artikel