Dateiberechtigungen in Linux/Unix: Lesen, Schreiben und Ändern
⚡ Intelligente Zusammenfassung
Die Dateiberechtigungen in Linux und Unix steuern, wer die einzelnen Dateien lesen, schreiben und ausführen darf. Dadurch wird ein Mehrbenutzersystem durch zwei Ebenen geschützt: die Besitzrechte, die einem Benutzer, einer Gruppe und anderen die entsprechenden Berechtigungen zuweisen, und die Lese-, Schreib- und Ausführungsberechtigungsbits.
Dateiberechtigungen in Linux Unix legt fest, wer welche Datei lesen, ändern oder ausführen darf, und gewährleistet so die Sicherheit eines gemeinsam genutzten Mehrbenutzersystems. Diese Seite erläutert die Dateibesitzverhältnisse, die Lese-, Schreib- und Ausführungsberechtigungen sowie die Befehle, mit denen diese geändert werden können.
Linux ist ein Unix-Klon, ein Mehrbenutzer-Betriebssystem, das von vielen Benutzern gleichzeitig genutzt werden kann. Linux lässt sich auch ohne Anpassungen auf Großrechnern und Servern einsetzen. Dies birgt jedoch Sicherheitsrisiken, da ein unbefugter oder böswilliger Benutzer wichtige Daten beschädigen, verändern oder löschen kann. Aus Sicherheitsgründen unterteilt Linux die Autorisierung in zwei Ebenen:
- Eigentumsstruktur
- Genehmigung
Das Konzept von Dateiberechtigungen und -besitz ist in Linux von zentraler Bedeutung. Hier erklären wir die Linux-Berechtigungen und den Besitz und gehen näher darauf ein. Beginnen wir mit dem Besitz.
Besitz von Linux-Dateien
Jede Datei und jedes Verzeichnis auf Ihrem Unix/Linux-System hat einen von drei Eigentümertypen, die unten aufgeführt sind. Das folgende Diagramm zeigt die Zuordnung der Eigentümerschaft zu Benutzern, Gruppen und anderen.
Mitglied
Ein Benutzer ist der Eigentümer der Datei. Standardmäßig wird die Person, die eine Datei erstellt hat, ihr Eigentümer. Daher wird ein Benutzer manchmal auch als Besitzer bezeichnet.
Gruppe an
A Benutzergruppe Eine Gruppe kann mehrere Benutzer enthalten. Alle Benutzer einer Gruppe haben die gleichen Linux-Gruppenberechtigungen für die Datei. Angenommen, Sie haben ein Projekt, in dem mehrere Personen Zugriff auf eine Datei benötigen. Anstatt jedem Benutzer manuell Berechtigungen zuzuweisen, können Sie alle Benutzer einer Gruppe hinzufügen und die Gruppenberechtigung für die Datei festlegen. So können nur die Mitglieder dieser Gruppe, und niemand sonst, die Dateien lesen oder bearbeiten.
Andere
Jeder andere Benutzer, der Zugriff auf eine Datei hat. Diese Person hat die Datei weder erstellt noch gehört sie einer Benutzergruppe an, der die Datei gehören könnte. Praktisch bedeutet das: jeder. Wenn Sie also Berechtigungen für andere festlegen, spricht man auch davon, Berechtigungen für alle Benutzer festzulegen.
Nun stellt sich die entscheidende Frage: Wie unterscheidet Linux zwischen diesen drei Benutzertypen, sodass Benutzer A keine Datei verändern kann, die wichtige Informationen oder Daten von Benutzer B enthält? Es ist, als ob man nicht möchte, dass ein Kollege, der an Ihrem Projekt arbeitet, Ihre Daten verändert. Linux-Computer Um Ihre Bilder anzusehen, benötigen Sie Berechtigungen, die das Nutzerverhalten definieren.
Lassen Sie uns das Berechtigungssystem unter Linux verstehen.
Linux-Dateiberechtigungen
Für jede Datei und jedes Verzeichnis in Ihrem Unix/Linux-System sind die folgenden drei Berechtigungen für alle drei oben genannten Eigentümer definiert.
- Lesen: Diese Berechtigung erlaubt Ihnen, eine Datei zu öffnen und zu lesen. Die Leseberechtigung für ein Verzeichnis ermöglicht es Ihnen, dessen Inhalt aufzulisten.
- Schreiben: Die Schreibberechtigung berechtigt Sie, den Inhalt einer Datei zu ändern. Die Schreibberechtigung für ein Verzeichnis berechtigt Sie, Dateien in diesem Verzeichnis hinzuzufügen, zu löschen und umzubenennen. Stellen Sie sich vor, Sie haben Schreibberechtigung für eine Datei, aber nicht für das Verzeichnis, in dem die Datei gespeichert ist. Sie können zwar den Inhalt der Datei ändern, aber die Datei selbst nicht umbenennen, verschieben oder aus dem Verzeichnis löschen.
- Execute: In WindowsEin ausführbares Programm hat üblicherweise die Dateiendung „.exe“ und kann daher problemlos ausgeführt werden. Unter Unix/Linux kann ein Programm nur ausgeführt werden, wenn die Ausführungsberechtigung gesetzt ist. Ist die Ausführungsberechtigung nicht gesetzt, kann der Programmcode zwar möglicherweise angezeigt oder geändert werden (vorausgesetzt, Lese- und Schreibberechtigungen sind vorhanden), das Programm selbst jedoch nicht ausgeführt werden.
Betrachten wir die Dateiberechtigungen unter Linux anhand von Beispielen. Die Ausführung von `ls -l` im Terminal liefert folgendes Ergebnis:
ls -l
Der folgende Screenshot zeigt die Berechtigungszeichenfolge in einer langen Auflistung.
Hier haben wir '-rw-rw-r–' hervorgehoben, und dieser seltsam aussehende Code gibt Auskunft über die Unix-Berechtigungen, die dem Besitzer, der Benutzergruppe und der Welt erteilt wurden.
Das erste „-“ bedeutet hier, dass wir eine Datei ausgewählt haben. Das darunter stehende Symbol kennzeichnet eine normale Datei.
Andernfalls, wenn es sich um ein Verzeichnis handeln würde, wäre ein 'd' angezeigt worden, wie in der folgenden Auflistung.
Die Charaktere sind ziemlich leicht zu merken.
- r = Leseberechtigung
- w = Schreibberechtigung
- x = Ausführungsberechtigung
- – = keine Erlaubnis
Betrachten wir es einmal so. Der erste Teil des Codes lautet „rw-“. Dies deutet darauf hin, dass der Besitzer „Home“ Folgendes kann:
- Lesen Sie die Datei
- Schreiben oder bearbeiten Sie die Datei
Der Besitzer kann die Datei nicht ausführen, da das Ausführungsbit auf '-' gesetzt ist. Das untenstehende Symbol zeigt, dass das Ausführungsbit auf einen Bindestrich gesetzt wurde.
Viele Linux-Distributionen wie Fedora, CentOS und Ubuntu Füge einen Benutzer einer Gruppe mit demselben Namen wie der Benutzer hinzu. So wird beispielsweise der Benutzer „tom“ der Gruppe „tom“ hinzugefügt.
Der zweite Teil ist „rw-“. Er gilt für die Benutzergruppe „Home“, und Gruppenmitglieder können:
- Lesen Sie die Datei
- Schreiben oder bearbeiten Sie die Datei
Der dritte Teil gilt für alle Nutzer weltweit. Er lautet „r–“. Das bedeutet, dass der Nutzer nur Folgendes tun kann:
- Lesen Sie die Datei
Die folgende Aufschlüsselung ordnet jeden Teil der Berechtigungszeichenfolge dem Besitzer, der Gruppe und der Welt zu.
Ändern von Datei-/Verzeichnisberechtigungen in Linux mit dem Befehl 'chmod'
Angenommen, Sie möchten nicht, dass ein Kollege Ihre privaten Bilder sieht. Dies lässt sich durch Ändern der Dateiberechtigungen erreichen.
Wir können den Befehl 'chmod' verwenden. Befehl, was für „Änderungsmodus“ steht. Mit diesem Befehl können wir Berechtigungen (Lesen, Schreiben, Ausführen) für eine Datei oder ein Verzeichnis für den Eigentümer, die Gruppe und alle anderen Benutzer festlegen.
Syntax:
chmod permissions filename
Es gibt zwei Möglichkeiten, den Befehl zu verwenden:
- Absoluter Modus
- Symbolischer Modus
Absoluter (numerischer) Modus in Linux
In diesem Modus werden Dateiberechtigungen nicht als Zeichen, sondern als dreistellige Oktalzahl dargestellt. Die folgende Tabelle enthält die Zahlen für alle Berechtigungstypen.
| Nummer | Berechtigungstyp | Symbol |
|---|---|---|
| 0 | Keine Erlaubnis | - |
| 1 | Ausführen | –X |
| 2 | Schreiben | -w- |
| 3 | Ausführen + Schreiben | -wx |
| 4 | Lesen Sie mehr | R- |
| 5 | Lesen + Ausführen | rx |
| 6 | Lesen + Schreiben | rw- |
| 7 | Lesen + Schreiben + Ausführen | rwx |
Schauen wir uns den Befehl chmod in Aktion an, wie im folgenden Terminalfenster gezeigt.
Im obigen Terminalfenster haben wir die Berechtigungen der Datei „sample“ auf „764“ geändert. Der absolute Code „764“ bedeutet Folgendes:
- Der Eigentümer kann lesen, schreiben und ausführen.
- Die Benutzergruppe hat Lese- und Schreibrechte.
- Die Welt kann nur lesen.
Dies wird als '-rwxrw-r–' angezeigt, wie im folgenden Ergebnis.
So können Sie in Linux die Benutzerberechtigungen für eine Datei ändern, indem Sie ihr eine absolute Zahl zuweisen.
Symbolischer Modus unter Linux
Im absoluten Modus ändern Sie die Berechtigungen für alle drei Eigentümer. Im symbolischen Modus können Sie die Berechtigungen eines bestimmten Eigentümers ändern. Dabei werden mathematische Symbole verwendet, um die Unix-Dateiberechtigungen zu modifizieren.
| OperaDo. | Beschreibung |
|---|---|
| + | Fügt einer Datei oder einem Verzeichnis eine Berechtigung hinzu |
| - | Entfernt die Berechtigung |
| = | Legt die Berechtigung fest und überschreibt zuvor festgelegte Berechtigungen. |
Die verschiedenen Eigentümer werden wie folgt dargestellt.
| Mitglied | Denotationen |
|---|---|
| u | Benutzer / Besitzer |
| g | Gruppe |
| o | Andere |
| a | alle |
Wir verwenden keine Berechtigungen in Zahlen wie 755, sondern in Zeichenketten wie rwx. Schauen wir uns das folgende Beispiel an.
Eigentümer und Gruppe unter Linux ändern
Um die Besitzrechte einer Datei oder eines Verzeichnisses zu ändern, können Sie folgenden Befehl verwenden:
chown user filename
Falls Sie sowohl den Benutzer als auch die Gruppe für eine Datei oder ein Verzeichnis ändern möchten, verwenden Sie folgenden Befehl:
chown user:group filename
Schauen wir uns das in der Praxis an, wie unten dargestellt.
Falls Sie nur den Gruppenbesitzer ändern möchten, verwenden Sie folgenden Befehl:
chgrp group_name filename
„chgrp“ steht für „Gruppe ändern“. Der Screenshot unten zeigt die Verwendung des Befehls „chgrp“.
Tipp
- Die Datei /etc/group enthält alle auf dem System definierten Gruppen.
- Mit dem Befehl „groups“ können Sie alle Gruppen finden, denen Sie angehören, wie unten gezeigt.
- Mit dem Befehl newgrp können Sie als Mitglied einer anderen Gruppe als Ihrer Standardgruppe arbeiten, wie unten gezeigt.
- Es können nicht zwei Gruppen dieselbe Datei besitzen.
- In Linux gibt es keine verschachtelten Gruppen. Eine Gruppe kann keine Untergruppe einer anderen sein.
- x — Ausführen eines Verzeichnisses bedeutet, dass man berechtigt ist, in ein Verzeichnis „einzutreten“ und gegebenenfalls Zugriff auf Unterverzeichnisse zu erhalten.
- Es gibt weitere Berechtigungen, die Sie für Dateien und Verzeichnisse festlegen können. Diese werden in einem späteren fortgeschrittenen Tutorial behandelt.







.png)
.png)
.png)
.png)
.png)


