Wie man einer Shell-Datei die Ausführungsberechtigung erteilt

ShellShellBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Tutorial führt Sie durch den Prozess der Gewährung von Ausführungsberechtigungen für Ihre Shell-Skripte. Das Verständnis von Dateiberechtigungen und wie diese angewendet werden, ist ein entscheidender Aspekt der Shell-Programmierung. Es ermöglicht Ihnen, Ihre Skripte ausführbar zu machen und sie zum Ausführen bereit zu stellen.

Verständnis von Dateiberechtigungen

Im Linux-Betriebssystem hat jede Datei und jedes Verzeichnis eine Reihe von Berechtigungen, die bestimmen, wer bestimmte Aktionen damit ausführen kann. Diese Berechtigungen sind in drei Hauptkategorien unterteilt: Lesen, Schreiben und Ausführen.

Dateiberechtigungen

Die Berechtigungen für eine Datei werden durch eine Zeichenkette von 10 Zeichen dargestellt, die wie folgt aussieht:

-rw-r--r--

Das erste Zeichen gibt den Dateityp an, wobei - eine normale Datei, d ein Verzeichnis und andere Zeichen spezielle Dateitypen darstellen.

Die verbleibenden 9 Zeichen stellen die Berechtigungen für die Datei dar und sind in drei Gruppen zu je drei Zeichen unterteilt:

  1. Benutzerberechtigungen: Die ersten drei Zeichen stellen die Berechtigungen für den Besitzer der Datei dar.
  2. Gruppenberechtigungen: Die nächsten drei Zeichen stellen die Berechtigungen für die Gruppe dar, zu der die Datei gehört.
  3. Sonstige Berechtigungen: Die letzten drei Zeichen stellen die Berechtigungen für alle anderen Benutzer dar.

Jede dieser drei-Zeichen-Gruppen folgt demselben Muster:

  • r: Leseberechtigung
  • w: Schreibberechtigung
  • x: Ausführungsberechtigung
  • -: Keine Berechtigung

Beispielsweise geben die Berechtigungen -rw-r--r-- an, dass der Besitzer der Datei Lesen- und Schreibberechtigungen hat, die Gruppe Leseberechtigung hat und alle anderen Benutzer Leseberechtigung haben.

Verzeichnisberechtigungen

Die Berechtigungen für ein Verzeichnis funktionieren etwas anders als für eine Datei. Die Berechtigungen sind immer noch in die gleichen drei Gruppen unterteilt, aber die Bedeutung der Berechtigungen ist unterschiedlich:

  • r: Ermöglicht es Benutzern, den Inhalt des Verzeichnisses aufzulisten.
  • w: Ermöglicht es Benutzern, Dateien und Unterverzeichnisse innerhalb des Verzeichnisses zu erstellen, zu löschen und umzubenennen.
  • x: Ermöglicht es Benutzern, auf das Verzeichnis zuzugreifen und in es zu navigieren.

Beispielsweise geben die Berechtigungen drwxr-xr-x an, dass der Besitzer des Verzeichnisses Lesen-, Schreib- und Ausführungsberechtigungen hat, die Gruppe Lesen- und Ausführungsberechtigungen hat und alle anderen Benutzer Lesen- und Ausführungsberechtigungen haben.

Verständnis von Oktalberechtigungen

Neben der symbolischen Darstellung von Berechtigungen können Sie die Berechtigungen auch mit einer Oktalzahl (Basis-8) darstellen. Jeder Berechtigung wird ein Wert zugewiesen:

  • r = 4
  • w = 2
  • x = 1

Die Berechtigungen für eine Datei oder ein Verzeichnis werden dann durch eine dreistellige Oktalzahl dargestellt, wobei jede Ziffer die Berechtigungen für den Benutzer, die Gruppe und die anderen Benutzer darstellt.

Beispielsweise können die Berechtigungen -rw-r--r-- als Oktalzahl 644 dargestellt werden, wobei:

  • Benutzerberechtigungen: rw- = 4 + 2 + 0 = 6
  • Gruppenberechtigungen: r-- = 4 + 0 + 0 = 4
  • Sonstige Berechtigungen: r-- = 4 + 0 + 0 = 4

Gewährung von Ausführungsberechtigungen

Um ein Shell-Skript auszuführen, muss die Datei die Ausführungsberechtigung gesetzt haben. Dies kann mit dem Befehl chmod (kurz für "change mode", dt. "Modus ändern") erfolgen.

Verwendung des chmod-Befehls

Der chmod-Befehl wird verwendet, um die Berechtigungen einer Datei oder eines Verzeichnisses zu ändern. Die grundlegende Syntax lautet:

chmod [options] mode file

Dabei gilt:

  • [options] sind optionale Flags, die das Verhalten des chmod-Befehls ändern.
  • mode ist der neue Berechtigungsmodus, den Sie festlegen möchten.
  • file ist der Name der Datei oder des Verzeichnisses, für das Sie die Berechtigungen ändern möchten.

Um die Ausführungsberechtigung für ein Shell-Skript zu gewähren, können Sie den folgenden Befehl verwenden:

chmod +x script.sh

Dies fügt der Datei script.sh für Benutzer, Gruppe und andere die Ausführungsberechtigung (x) hinzu.

Alternativ können Sie die Oktaldarstellung der Berechtigungen verwenden:

chmod 755 script.sh

Dies setzt die Berechtigungen auf rwxr-xr-x, wobei:

  • Der Benutzer (Besitzer) über Lesen-, Schreiben- und Ausführungsberechtigungen verfügt.
  • Die Gruppe und andere über Lesen- und Ausführungsberechtigungen verfügen.

Rekursives Anwenden von Ausführungsberechtigungen

Wenn Sie ein Verzeichnis mit mehreren Dateien und Unterverzeichnissen haben, können Sie die Ausführungsberechtigung rekursiv mit der Option -R (rekursiv) anwenden:

chmod -R +x directory/

Dies gewährt die Ausführungsberechtigung für alle Dateien und Unterverzeichnisse innerhalb des Verzeichnisses directory/.

Ebenso können Sie die Oktaldarstellung verwenden, um die Berechtigungen rekursiv festzulegen:

chmod -R 755 directory/

Dies setzt die Berechtigungen auf rwxr-xr-x für alle Dateien und Unterverzeichnisse innerhalb des Verzeichnisses directory/.

Durch das Verstehen und Anwenden der geeigneten Dateiberechtigungen können Sie sicherstellen, dass Ihre Shell-Skripte ausführbar sind und von den beabsichtigten Benutzern ausgeführt werden können.

Anwenden von Ausführungsberechtigungen

Nachdem Sie nun wissen, wie Sie einer Shell-Datei die Ausführungsberechtigung erteilen können, wollen wir uns einige praktische Anwendungen und Beispiele ansehen.

Ausführen eines Shell-Skripts

Sobald Sie einer Shell-Datei die Ausführungsberechtigung erteilt haben, können Sie sie mit dem folgenden Befehl ausführen:

./script.sh

Dies führt die Datei script.sh aus, vorausgesetzt, sie befindet sich im aktuellen Arbeitsverzeichnis.

Wenn sich das Skript in einem Verzeichnis befindet, das nicht in der PATH-Umgebungsvariable Ihres Systems enthalten ist, können Sie es dennoch ausführen, indem Sie den vollständigen Pfad zum Skript angeben:

/path/to/script.sh

Automatisieren von Aufgaben mit Ausführungsberechtigungen

Das Erteilen von Ausführungsberechtigungen ist besonders nützlich, wenn Sie wiederholende Aufgaben oder Skripte automatisieren möchten. Beispielsweise können Sie ein Shell-Skript erstellen, das eine Sicherungsoperation ausführt, und dann die Ausführungsberechtigung für das Skript festlegen. Dadurch können Sie das Sicherungsskript jederzeit einfach ausführen, wenn Sie eine Sicherung erstellen müssen.

graph LR A[Create Backup Script] --> B[Grant Execution Permission] B --> C[Run Backup Script]

Absichern von sensiblen Skripten

Die richtige Verwaltung von Ausführungsberechtigungen ist auch wichtig für die Absicherung von sensiblen Skripten oder Programmen. Indem Sie sorgfältig kontrollieren, wer die Möglichkeit hat, bestimmte Skripte auszuführen, können Sie das Potenzial für unbefugten Zugriff oder Missbrauch einschränken.

Beispielsweise können Sie ein Skript haben, das administrative Aufgaben ausführt oder auf sensible Daten zugreift. In diesem Fall sollten Sie sicherstellen, dass nur autorisierte Benutzer oder Prozesse die Ausführungsberechtigung für dieses Skript haben.

Kollaborative Entwicklung

Wenn Sie an einem Projekt mit mehreren Teammitgliedern arbeiten, kann die Verwaltung von Ausführungsberechtigungen dazu beitragen, dass alle die erforderlichen Skripte und Programme ausführen können. Indem Sie die entsprechenden Berechtigungen festlegen, können Sie es Teammitgliedern ermöglichen, die Skripte auszuführen, die sie benötigen, und gleichzeitig die Kontrolle über das gesamte System aufrechterhalten.

Durch das Verständnis, wie Sie Ausführungsberechtigungen richtig anwenden, können Sie die Sicherheit, Automatisierung und kollaborativen Aspekte Ihrer Shell-Skripting-Arbeitsabläufe verbessern.

Zusammenfassung

Am Ende dieses Tutorials werden Sie ein solides Verständnis von Dateiberechtigungen in der Shell-Umgebung haben und wissen, wie Sie Ihren Skripten die Ausführungsberechtigung erteilen. Mit diesen Kenntnissen können Sie Shell-Skripte effektiv erstellen und verwalten und sicherstellen, dass sie wie beabsichtigt ausgeführt werden können.