unix permissions file permissions unix with examples
Unix-Berechtigungen: Erfahren Sie, welche Dateiberechtigungen in Unix unterschiedlich sind
Unix ist ein Mehrbenutzersystem, bei dem dieselben Ressourcen von verschiedenen Benutzern gemeinsam genutzt werden können.
Alle Berechtigungen in Unix basieren auf der Beschränkung des Zugriffs auf bestimmte Dateien und Ordner auf bestimmte Benutzer oder Benutzergruppen.
=> Klicken Sie hier für die komplette Unix Tutorial-Reihe
Was du lernen wirst:
- Unix-Berechtigungen: Dateiberechtigungen mit Beispielen
- Unix-Befehlszeilentools zum Ändern der Zugriffsberechtigungen
- Fazit
- Literatur-Empfehlungen
Unix-Berechtigungen: Dateiberechtigungen mit Beispielen
Der Zugriff auf eine Datei hat drei Ebenen:
- Leseberechtigung - Wenn autorisiert, kann der Benutzer den Inhalt der Datei lesen.
- Schreibberechtigung - Wenn autorisiert, kann der Benutzer die Datei ändern.
- Berechtigung ausführen - Wenn autorisiert, kann der Benutzer die Datei als Programm ausführen.
Jede Datei ist mit einer Reihe von Kennungen verknüpft, anhand derer bestimmt wird, wer auf die Datei zugreifen kann:
- Benutzer-ID (UID) - Gibt den Benutzer an, dem die Datei gehört. Standardmäßig ist dies der Ersteller der Datei.
- Gruppen-ID (GID) - Gibt die Benutzergruppe an, zu der die Datei gehört.
Schließlich sind jeder Datei drei Sätze von Zugriffsberechtigungen zugeordnet:
- Benutzerberechtigung - Gibt die Zugriffsebene an, die dem Benutzer gewährt wird, der der UID der Datei entspricht.
- Gruppenberechtigung - Gibt die Zugriffsebene an, die Benutzern in Gruppen gewährt wird, die der GID der Datei entsprechen.
- Andere Erlaubnis - Gibt die Zugriffsebene an, die Benutzern ohne übereinstimmende UID oder GID gewährt wird.
Zusammen macht dieses Schema der Zugriffskontrolle das Unix-System extrem sicher und bietet gleichzeitig die Flexibilität, die für ein Mehrbenutzersystem erforderlich ist.
Das ls -l Mit dem Befehl können die Berechtigungen angezeigt werden, die den einzelnen Dateien im aktuellen Ordner zugeordnet sind.
Die Beispielausgabe dieses Befehls ist unten angegeben.
Beispiel:
Flags Links Name der Größe der Eigentümergruppe Änderungsdatum
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
In dieser Ausgabe gibt 'insgesamt 24' die Gesamtzahl der Blöcke an, die von den aufgelisteten Dateien belegt werden.
Die verbleibenden Spalten sind:
- Flaggen - Eine Sammlung von Flags, die den Dateimodus und die Dateiberechtigungen angeben.
- Links - Die Anzahl der mit der Datei verknüpften Links.
- Inhaber - Die UID, der die Datei gehört.
- Gruppe - Die der Datei zugeordneten GIDs.
- Größe - Die Größe der Datei in Bytes.
- Änderungsdatum - Der Monat, das Datum, die Stunde und die Minute der letzten Änderung an der Datei.
- Name - Der Name der Datei oder des Verzeichnisses.
Die Flags in der ersten Spalte geben den Dateimodus und die verschiedenen Berechtigungssätze an:
# 1) Das erste Zeichen gibt den Dateityp an:
c ++ undefinierter Verweis auf Klassenfunktion
- -: repräsentiert eine gewöhnliche Datei
- d: repräsentiert ein Verzeichnis
- c: repräsentiert eine Zeichengerätedatei
- b: repräsentiert eine Blockgerätedatei
# 2) Die nächsten drei Zeichen geben Benutzerberechtigungen an:
- Die erste dieser drei Angaben gibt an, ob der Benutzer über eine Leseberechtigung verfügt:
-
- -: Zeigt an, dass der Benutzer keine Leseberechtigung hat.
- r: Gibt an, dass der Benutzer über eine Leseberechtigung verfügt.
-
- Das zweite Zeichen gibt an, ob der Benutzer eine Schreibberechtigung haben muss:
-
- -: Gibt an, dass der Benutzer keine Schreibberechtigung hat.
- w: Gibt an, dass der Benutzer eine Schreibberechtigung haben muss.
-
- Das letzte Zeichen gibt an, ob der Benutzer die Berechtigung ausgeführt hat:
-
- -: Gibt an, dass der Benutzer keine Berechtigung ausführen muss.
- x: Gibt an, dass der Benutzer die Berechtigung ausgeführt hat.
-
#3) Die nächsten drei Zeichen geben Gruppenberechtigungen an, ähnlich den oben genannten Benutzerberechtigungen.
# 4) Die letzten drei Zeichen geben öffentliche Berechtigungen an, ähnlich den oben genannten Benutzerberechtigungen.
Wenn es sich bei der Datei um eine normale Datei handelt, kann der Benutzer mit der Leseberechtigung die Datei öffnen und ihren Inhalt überprüfen. Mit der Schreibberechtigung kann der Benutzer den Inhalt der Datei ändern. Mit der Ausführungsberechtigung kann der Benutzer die Datei als Programm ausführen.
Wenn es sich bei der Datei um ein Verzeichnis handelt, kann der Benutzer mit der Leseberechtigung den Inhalt des Verzeichnisses auflisten. Mit der Schreibberechtigung können die Benutzer eine neue Datei im Verzeichnis erstellen und eine Datei oder ein Verzeichnis daraus entfernen. Mit der Ausführungsberechtigung kann der Benutzer eine Suche im Verzeichnis ausführen.
Unix-Befehlszeilentools zum Ändern der Zugriffsberechtigungen
Unix bietet eine Reihe von Befehlszeilentools zum Ändern der Zugriffsberechtigungen:
Beachten Sie, dass nur der Eigentümer der Datei die Zugriffsberechtigungen ändern kann.
1. chmod : Dateizugriffsberechtigungen ändern
- Beschreibung: Dieser Befehl wird verwendet, um die Dateiberechtigungen zu ändern. Diese Berechtigungen sind Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer, die Gruppe und andere.
- Syntax (symbolischer Modus) ::
chmod (ugoa)((+-=)(mode)) file
- Der erste optionale Parameter gibt an, wer - dies kann (u) ser, (g) roup, (o) thers oder (a) ll sein
- Der zweite optionale Parameter gibt den Opcode an - dies kann zum Hinzufügen (+), Entfernen (-) oder Zuweisen von (=) Berechtigungen dienen.
- Der dritte optionale Parameter gibt den Modus an - dies kann (r) ead, (w) rite oder e (x) ecute sein.
Beispiel ::Schreibberechtigung für Benutzer, Gruppe und andere für Datei1 hinzufügen
$ ls -l
-rw-r - r– 1 Benutzer 39 Jun 21 15:37 file1
-rw-r - r– 1 Benutzer 35 Jun 21 15:32 file2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 1 Benutzer 39 Jun 21 15:37 file1
-rw-r - r– 1 Benutzer 35 Jun 21 15:32 file2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 Benutzer 39 Jun 21 15:37 file1
-rw-r - r– 1 Benutzer 35 Jun 21 15:32 file2
- Syntax (numerischer Modus) ::
chmod (mode) file
- Der Modus ist eine Kombination aus drei Ziffern - die erste Ziffer gibt die Berechtigung für den Benutzer an, die zweite Ziffer für die Gruppe und die dritte Ziffer für andere.
- Jede Ziffer wird durch Hinzufügen der zugehörigen Berechtigungen berechnet. Die Leseberechtigung ist '4', die Schreibberechtigung ist '2' und die Ausführungsberechtigung ist '1'.
- Beispiel ::Geben Sie dem Benutzer Lese- / Schreib- / Ausführungsberechtigungen, der Gruppe Lese- / Ausführungsberechtigungen und anderen Berechtigungen.
$ ls -l
-rw-r - r– 1 Benutzer 39 Jun 21 15:37 file1
-rw-r - r– 1 Benutzer 35 Jun 21 15:32 file2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 Benutzerpersonal 39 Jun 21 15:37 file1
-rw-r - r– 1 Benutzer 35 Jun 21 15:32 file2
2. chown : Eigentümer der Datei ändern.
- Beschreibung : Nur der Eigentümer der Datei hat das Recht, den Dateieigentum zu ändern.
- Syntax : chown (Besitzer) (Datei)
- Beispiel ::Ändern Sie den Eigentümer von Datei1 in Benutzer2, vorausgesetzt, er gehört derzeit dem aktuellen Benutzer
$ chown user2 file1
3. chgrp : Ändern Sie den Gruppeneigentum der Datei.
- Beschreibung : Nur der Eigentümer der Datei hat das Recht, den Dateieigentum zu ändern.
- Syntax : chgrp (Gruppe) (Datei)
- Beispiel ::Ändern Sie die Gruppe von Datei1 in Gruppe2, sofern sie derzeit dem aktuellen Benutzer gehört.
$ chgrp group2 file1
Beim Erstellen einer neuen Datei legt Unix die Standarddateiberechtigungen fest. Unix verwendet den in einer Variablen namens umask gespeicherten Wert, um die Standardberechtigungen festzulegen. Der umask-Wert teilt Unix mit, welche der drei Berechtigungssätze deaktiviert werden müssen.
Das Flag besteht aus drei Oktalziffern, die jeweils die Berechtigungsmasken für den Benutzer, die Gruppe und andere darstellen. Die Standardberechtigungen werden durch Subtrahieren des umask-Werts von '777' für Verzeichnisse und '666' für Dateien festgelegt. Der Standardwert der umask ist '022'.
4. umask : Standardzugriffsberechtigungen ändern
Fragen zum Helpdesk-Einstiegsinterview
- Beschreibung: Mit diesem Befehl werden die Standarddateiberechtigungen festgelegt. Diese Berechtigungen sind Lese-, Schreib- und Ausführungsberechtigungen für Eigentümer, Gruppe und andere.
- Syntax : umask (Modus)
- Der Modus ist eine Kombination aus drei Ziffern - die erste Ziffer gibt die Berechtigung für den Benutzer an, die zweite Ziffer für die Gruppe und die dritte Ziffer für andere.
- Jede Ziffer wird durch Hinzufügen der zugehörigen Berechtigungen berechnet. Die Leseberechtigung ist '4', die Schreibberechtigung ist '2' und die Ausführungsberechtigung ist '1'.
Beispiel ::Geben Sie dem Benutzer Lese- / Schreib- / Ausführungsberechtigungen und keine Berechtigungen für Gruppen oder andere. d.h. die Berechtigung für Dateien beträgt 600 und für Verzeichnisse 700.
$ umask 077
- Beispiel ::Geben Sie dem Benutzer Lese- / Schreib- / Ausführungsberechtigungen, Lese- / Ausführungsberechtigungen für Gruppen oder andere Verzeichnisse und schreibgeschützte Berechtigungen für Gruppen oder andere für andere Dateien. d.h. die Berechtigung für Dateien beträgt 644 und für Verzeichnisse 755.
$ umask 022
Fazit
Die Berechtigungen in Unix können für den 'Benutzer', 'Gruppe' und für alle Benutzer mit dem Namen 'Andere' gelten.
Die Details wie Berechtigungsflags, Anzahl der Links, Eigentümer, Gruppe, Größe, Datum der letzten Änderung, Datei usw. können einfach mit dem Befehl 'ls-l' abgerufen werden.
=> Klicken Sie hier für die komplette Unix Tutorial-Reihe
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Unix-Dateizugriffsberechtigungen: Unix Chmod, Chown und Chgrp
- Befehl in Unix mit Beispielen ausschneiden
- Dateimanipulation unter Unix: Übersicht über das Unix-Dateisystem
- Unix-Befehle: Grundlegende und erweiterte Unix-Befehle mit Beispielen
- Befehl 'Suchen' unter Unix: Suchen von Dateien mit Unix 'Datei suchen' (Beispiele)
- UNIX-Tutorial für Anfänger (über 20 ausführliche Unix-Schulungsvideos)
- Unix-Textverarbeitungsbefehle: Unix-Filter mit Beispielen
- Unix-Sonderzeichen oder Metazeichen für die Dateimanipulation