GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Grundlegende Dateiberechtigungen und Eigentumsrechte in Linux verstehen

Alle Dateien und Verzeichnisse in Linux haben einen Standardsatz von Zugriffsberechtigungen. Diese Zugriffsberechtigungen steuern, wer auf welche Dateien zugreifen kann, und bieten ein grundlegendes Maß an Sicherheit für die Dateien und Verzeichnisse in einem System.

Anzeigeberechtigungen

Um die Berechtigungen für Dateien und Verzeichnisse anzuzeigen, verwenden Sie ls -l oder ls –n Befehle.

# ls -l file
-rw-r--r-- 1 root root 0 Nov 19 23:49 file

Das erste Informationsfeld, das vom Befehl ls -l angezeigt wird, ist der Dateityp. Der Dateityp gibt typischerweise an, ob es sich um eine Datei oder ein Verzeichnis handelt. Eine Datei wird durch einen Bindestrich (-) dargestellt. Ein Verzeichnis wird durch den Buchstaben d dargestellt.
Die restlichen Felder stellen die Berechtigungsgruppen dar:Eigentümer, Gruppe, und andere .

Berechtigungsgruppen

Es gibt drei Berechtigungsgruppen:

  1. Eigentümer
  2. Gruppe
  3. Andere

Die Tabelle beschreibt die Berechtigungsgruppen und ihren Geltungsbereich:

Berechtigung Beschreibung
Eigentümer Berechtigungen, die vom zugewiesenen Eigentümer der Datei oder des Verzeichnisses verwendet werden
Gruppe Berechtigungen, die von Mitgliedern der Gruppe verwendet werden, der die Datei oder das Verzeichnis gehört
Andere Berechtigungen, die von allen Benutzern außer dem Dateieigentümer und Mitgliedern der Gruppe verwendet werden, der die Datei oder das Verzeichnis gehört

Berechtigungssatz

– Jede Berechtigungsgruppe hat drei Berechtigungen, die als Berechtigungssatz bezeichnet werden.
– Jeder Satz besteht aus Lesen , schreiben , und Ausführen Berechtigungen.
– Jede Datei oder jedes Verzeichnis hat drei Berechtigungssätze für die drei Arten von Berechtigungsgruppen.
– Der erste Berechtigungssatz repräsentiert die Besitzerberechtigungen, der zweite Satz repräsentiert die Gruppenberechtigungen und der letzte Satz repräsentiert die anderen Berechtigungen.
– Die Lese-, Schreib- und Ausführungsberechtigungen werden durch die Zeichen r dargestellt , w und x .
– Das Vorhandensein eines dieser Zeichen, z. B. r, zeigt an, dass die jeweilige Berechtigung erteilt wurde.
– Ein Bindestrich ( )-Symbol anstelle eines Zeichens in einem Berechtigungssatz zeigt an, dass eine bestimmte Berechtigung verweigert wird.
– Linux weist anfängliche Berechtigungen automatisch zu, wenn eine neue Datei oder ein neues Verzeichnis erstellt wird.

Berechtigung Zugriff für eine Datei Zugriff für ein Verzeichnis
Lesen (r) Sie können Dateiinhalte anzeigen und die Datei kopieren. Sie können den Inhalt des Verzeichnisses mit dem Befehl ls auflisten.
Schreibe (w) Sie können den Dateiinhalt ändern. Sie können den Inhalt eines Verzeichnisses ändern, indem Sie beispielsweise eine Datei löschen. Dazu müssen Sie auch über die Ausführungsberechtigung verfügen.
Führe (x) aus Sie können die Datei ausführen, wenn es sich um eine ausführbare Datei handelt. Sie können ein Shell-Skript ausführen, wenn Sie auch über Lese- und Ausführungsberechtigungen verfügen. Sie können den cd-Befehl verwenden, um auf das Verzeichnis zuzugreifen. Wenn Sie auch über Lesezugriff verfügen, können Sie den Befehl ls -l für das Verzeichnis ausführen, um den Inhalt aufzulisten. Wenn Sie keinen Lesezugriff haben, können Sie den Befehl ls ausführen, solange Sie den Dateinamen kennen.

Dateieigentum

Jede Datei gehört einem bestimmten Benutzer (oder UID) und einer bestimmten Gruppe (oder GID). Der Chown Der Befehl kann verwendet werden, um nur den Benutzer oder den Benutzer und die Gruppe einer Datei zu ändern. Hier ist ein Beispiel für die Änderung des Besitzers der Datei test in user und ihrer Gruppe in user.

# ls -l test
-rw-r--r-- 1 root root 0 Nov 20 00:43 test
# chown user:user test
# ls -l test
-rw-r--r-- 1 user user 0 Nov 20 00:43 test

Das grundlegende Format für den Befehl chown ist wie folgt:

# chown user:group filename

Ein Punkt (.) kann anstelle des Doppelpunkts (:) verwendet werden Trennzeichen. Außerdem kann entweder der Benutzer- oder der Gruppenname weggelassen werden. Wenn der Benutzername weggelassen wird (aber das Trennzeichen vorhanden ist), verhält sich der chown-Befehl wie der chgrp Befehl, und nur der Gruppenbesitz wird geändert. Wenn der Gruppenname weggelassen wird (aber das Trennzeichen vorhanden ist), wird die Gruppe auf die Anmeldegruppe des angegebenen Benutzers festgelegt. Wenn sowohl der Gruppenname als auch das Trennzeichen weggelassen werden, wird nur der Benutzername geändert. Beispiel:, um nur den Eigentümer zu ändern, könnten Sie Folgendes ausführen:

# chown user filename

Ein alternativer Befehl, um nur die Gruppe einer Datei zu ändern, ist der Befehl chgrp. Zum Beispiel:

# chgrp group filename

Der Befehl chgrp wird häufig von normalen Benutzern verwendet, um den Gruppenbesitz ihrer Dateien zu ändern. Der Befehl chown wird normalerweise nur vom Root-Benutzer verwendet.

Standardgruppenbesitz

Jeder Benutzer kann Mitglied vieler Gruppen sein (aufgelistet in der Datei /etc/group unter mehreren Gruppen). Nur eine Gruppe ist die primäre Gruppe eines Benutzers (aufgelistet im Benutzereintrag in /etc/password). Wenn ein Benutzer eine Datei erstellt, gehört die Datei standardmäßig der primären Gruppe des Benutzers. Wenn sie möchten, dass die Datei einer ihrer anderen Gruppen gehört, müssen sie chgrp verwenden Befehl zum Ändern der Gruppenmitgliedschaft. Zum Beispiel:

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file
$ ls -lrt file
-rw-rw-r-- 1 user user 0 Nov 20 00:52 file

Wie oben gezeigt, erhält die neu erstellte Datei (Datei) automatisch die Gruppe „Benutzer“.

Datei- und Verzeichnisberechtigungen

Unten sehen Sie eine Beispielausgabe von ls -l Befehl; Sie können am ersten Zeichen jeder Zeile sehen, dass dir1 und dir2 Verzeichnisse sind (gekennzeichnet durch das d ) und dass file1 und file2 eine normale Datei sind (gekennzeichnet durch ).

$ ls -l
total 0
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir1
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir2
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file1
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file2

Die nächsten neun Zeichen zeigen die Berechtigungen der Datei für Benutzer, Gruppen und andere (oder alle anderen) wie unten gezeigt, wobei der Übersichtlichkeit halber Klammern hinzugefügt wurden:

-(rw-)(rw-)(r--) 1 user user 0 Nov 20 00:55 file1

Jetzt hat der Eigentümer Lese- und Schreibrechte (rw-), die Gruppe hat Lese- und Schreibrechte (rw-) und alle anderen haben nur Leserechte (r–). Dies wird als symbolische Repräsentation bezeichnet weil Buchstaben wie r, w und x verwendet werden, um Berechtigungen anzugeben.

Berechtigungen können auch numerisch dargestellt werden:

r = 4; w = 2; x = 1

Fügen Sie jeden Abschnitt hinzu, sodass die Berechtigungen der Dateimeta (aus dem obigen Beispiel) 664 wären. Hier ist eine andere Möglichkeit, um zu sehen, wie wir zu dieser Zahl kommen:

-(rw-)(rw-)(r--)
-(42-)(42-)(4--)
664

Das Hinzufügen der Zahlen in jedem Abschnitt führt zu Berechtigungen von 664.

Dateiberechtigungen ändern

Der Befehl chmod wird verwendet, um die Berechtigungen einer Datei zu ändern. Es kann verwendet werden, um Berechtigungen symbolisch hinzuzufügen oder zu entfernen. Um beispielsweise Ausführungsberechtigungen für den Eigentümer einer Datei hinzuzufügen, würden Sie Folgendes ausführen:

$ chmod u+x file_name

Oder um Lese- und Schreibberechtigungen für die Gruppe hinzuzufügen, der die Datei gehört, würden Sie Folgendes ausführen:

$ chmod g+rw file_name

Anstatt Berechtigungen hinzuzufügen, kann die symbolische Syntax von chmod auch verwendet werden, um einen absoluten Wert zu subtrahieren oder auf einen bestimmten Wert zu setzen, wie in diesen Beispielen gezeigt:

$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name

Der Befehl chmod kann Berechtigungen auch explizit mithilfe einer numerischen Darstellung festlegen. Um beispielsweise Berechtigungen für eine Datei auf rwxrwxr– zu setzen, würden Sie Folgendes ausführen:

$ chmod 774 file_name

Zusätzlich zu den standardmäßigen Lese-, Schreib- und Ausführungsberechtigungen kann chmod auch spezielle Berechtigungen setzen. Dies sind das Setuid-Bit, das Setgid-Bit und das Sticky-Bit. Die folgenden Beispiele zeigen das Festlegen jeder dieser speziellen Berechtigungen zusammen mit einer kurzen Beschreibung der Auswirkungen dieser Berechtigungen.

$ chmod u+s file_name

Fügt die setuid hinzu Bit, sodass diese Datei, falls sie ausführbar ist, mit den Berechtigungen ihres Eigentümers ausgeführt wird.

$ chmod g+s file_name

Fügt die setgid hinzu Bit, sodass diese Datei, falls sie ausführbar ist, mit den Berechtigungen ihrer Gruppe ausgeführt wird. Wenn dies für ein Verzeichnis festgelegt wird, haben alle im Verzeichnis erstellten Dateien dieselbe Gruppe wie das Verzeichnis.

$ chmod o+t directory_name

Fügt das Sticky-Bit hinzu damit Benutzer nur Dateien aus diesem von ihnen erstellten Verzeichnis löschen können.


Linux
  1. Linux-Berechtigungen:Eine Einführung in chmod

  2. Linux chmod und chown – So ändern Sie Dateiberechtigungen und Eigentumsrechte in Linux

  3. Vorrang von Benutzer- und Gruppeneigentümern bei Dateiberechtigungen?

  4. Linux-Dateiberechtigungskonzepte

  5. Linux-Interviewfragen – Grundlegende Datei- und Verzeichnisberechtigungen

Grundlegendes zu Linux-Dateiberechtigungen

Chown-Befehl in Linux (Dateibesitz)

Chmod-Befehl in Linux (Dateiberechtigungen)

Linux-Dateiberechtigungen und Eigentumsrechte mit Beispielen erklärt

Grundlegendes zu Linux-Dateiberechtigungen

Grundlegende Linux-Verzeichnisberechtigungen und wie man sie überprüft