Ändern der Berechtigung von Ordnern und Verzeichnissen unter Linux/Unix
- Dateibesitz in einem Unix/Linux-System
- Dateiberechtigungen unter Linux anzeigen
- Dateiberechtigungen in einem Unix/Linux-System ändern
- Ändern von Gruppen und Eigentümern in Linux
- Ändern des Besitzbefehls in Linux
-
Verwendung von den
chmod
im absoluten Modus unter Linux
Das Dateiberechtigungssystem ist eines der wesentlichen Sicherheitselemente des Linux-Betriebssystems.
Diese Funktionen ermöglichen es uns, Dateiberechtigungen und Zugriffsmodi anzupassen. Wir stellen Berechtigungen basierend auf den richtigen Berechtigungen bereit, um mögliche Schwachstellen zu vermeiden, wenn einem Benutzer nicht der entsprechende Zugriff auf Dateien und Ordner gewährt wird.
Dateibesitz in einem Unix/Linux-System
In einem Unix/Linux-System gibt es drei Eigentumsarten für Dateien und Verzeichnisse. Der zugewiesene Eigentümer der Datei hat die Berechtigung, sie basierend auf den Berechtigungen, die er erhält, zu ändern.
- Berechtigung des Eigentümers: Die Berechtigungen des Eigentümers der Datei legen fest, welche Funktionen der Eigentümer der Datei ausführen kann. Da der Benutzer, der eine Datei erstellt, ihr Eigentümer wird, wird ein Benutzer auch als Eigentümer bezeichnet.
- Berechtigungen nach Gruppe: Die Berechtigungen einer Gruppe bestimmen, welche Aktivitäten ein Benutzer an einer Datei ausführen kann, wenn er Mitglied dieser Gruppe ist.
- Zusätzliche Berechtigungen: Die Berechtigungen anderer Benutzer definieren, welche Aktionen sie mit der Datei ausführen können.
Jede Datei hatte zunächst drei Zugriffsmöglichkeiten. Sie sind wie folgt:
- Das
Read (r)
: Damit können Sie den Inhalt der Datei abrufen, aber nicht schreiben. Es ermöglicht Ihnen, eine Liste von Dateien und Verzeichnissen zu erhalten, die in einem Verzeichnis gefunden wurden. - Das
Write (w)
: Damit können Sie neue Daten zu Dateien hinzufügen oder bestehende ändern sowie Dateien und Verzeichnisse erstellen und ändern. - Das
Execute (x)
: Wenn ein Programm das Execute-Flag nicht hat, kann es nicht ausgeführt werden. Diese Eigenschaft wird für alle Programme und Skripte gesetzt. Das System verwendet sie, um festzustellen, ob die Datei als Programm gestartet werden soll oder nicht.
Dateiberechtigungen unter Linux anzeigen
Natürlich können Sie unter Linux einen Dateimanager verwenden, um nach Dateiberechtigungen zu suchen. Sie alle unterstützen diese Funktionalität, aber Sie erhalten auf diese Weise Teilinformationen.
Verwenden Sie den Befehl ls
mit dem Argument -l
, um vollständige Details zu allen Flags zu erhalten. Alle Dateien im Verzeichnis werden zusammen mit ihren Eigenschaften und Bits angezeigt.
Führen Sie den folgenden Befehl in dem Ordner aus, in dem die Dateien gespeichert sind, um die Berechtigungen für eine Linux-Datei herauszufinden:
$ ls -l
Ich habe einen Ordner und zwei Dateien, test
und testfile
darin erstellt.
Ausgabe:
total 0
-rw-rw-r-- 1 user user 0 Jan 14 01:00 test
-rw-rw-r-- 1 user user 0 Jan 14 01:00 testfile
Die erste Spalte gibt die verschiedenen Zugriffsmodi oder die Berechtigungen an, die einer Datei oder einem Verzeichnis zugeordnet sind. Dann gibt es Gruppen von Rechten, zuerst für den Eigentümer, dann für die Gruppe und alle anderen.
Schauen wir uns genauer an, was die bedingten Werte der Berechtigungs-Flags bedeuten:
---
- überhaupt keine Rechte;--x
- nur Dateiausführung ist als Programm erlaubt, aber nicht ändern oder lesen;-w-
- nur das Schreiben und Modifizieren der Datei ist erlaubt;-wx
- Änderung und Ausführung zulassen, aber im Fall eines Verzeichnisses können Sie dessen Inhalt nicht anzeigen;r--
- Leserechte;rx
- nur lesen und ausführen, kein Schreibzugriff;rw-
- Lese- und Schreibrechte, aber keine Ausführung;rwx
- alle Rechte;--s
- Wenn das BitSUID
oderSGID
gesetzt ist, wird dieSUID
des Besitzers im Feld angezeigt, während dieSGID
der Gruppe im Feld angezeigt wird;--t
- Sticky-Bit ist gesetzt, was bedeutet, dass Benutzer diese Datei nicht löschen können.
Dateiberechtigungen in einem Unix/Linux-System ändern
chmod
ist ein Befehl zum Ändern des Modus, der die Berechtigungen einer Datei oder eines Verzeichnisses ändert. Die zwei Möglichkeiten, chmod
zu verwenden, sind der symbolische und der absolute Modus.
Verwendung von chmod
im symbolischen Modus
Der symbolische Modus ist der einfachste Ansatz für einen Lernenden, um Datei- oder Verzeichnisberechtigungen anzupassen.
Mithilfe der Operatoren in der folgenden Tabelle können Sie den gewünschten Berechtigungssatz mit symbolischen Berechtigungen hinzufügen, löschen oder angeben.
chmod -Operator |
Bezeichnung |
---|---|
+ |
Die angegebene(n) Berechtigung(en) werden einer Datei oder einem Verzeichnis hinzugefügt. |
- |
Entfernt die angegebene(n) Berechtigung(en) einer Datei oder eines Verzeichnisses. |
= |
Legt die Berechtigung für die angegebenen Benutzer fest. |
Schauen wir uns ein Beispiel an. Wenn Sie beim Test ls -l
ausführen, sehen Sie, dass die Berechtigungen wie folgt lauten:
$ ls -l test
Ausgabe:
-rw-rw-r-- 1 user user 0 Jan 14 01:00 test
Führen Sie dann jeden der chmod
-Beispielbefehle aus der vorherigen Tabelle auf dem Test aus, gefolgt von ls -l, um die Berechtigungsänderungen anzuzeigen.
$ chmod o+wx test
$ ls -l test
Dabei bezeichnet o
andere Benutzer, w
schreibt und x
führt aus. +
wird verwendet, um einer test
-Datei bestimmte Berechtigungen hinzuzufügen.
Ausgabe:
-rw-rw-rwx 1 user user 0 Jan 14 01:00 test
Wir können die Unterschiede in den beiden obigen Ausgaben sehen. -rw-rw-r--
wird in -rw-rw-rwx
geändert. Der obige Befehl fügte rw
-Berechtigungen für andere
Benutzer hinzu.
Ändern von Gruppen und Eigentümern in Linux
Wenn sie ein Konto unter Unix erstellen, erhält jeder Benutzer eine Eigentümer-ID und eine Gruppen-ID. Alle oben genannten Berechtigungen werden ebenfalls basierend auf dem Eigentümer und der Gruppe zugewiesen.
Es gibt hauptsächlich zwei Befehle zum Ändern der Gruppen und Besitzer.
chown
: Der Befehlchown
, was fürchange owner
steht, wird verwendet, um den Besitzer einer Datei zu ändern.chgrp
: Der Befehlchgrp
, was fürchange group
steht, wird verwendet, um die Gruppe einer Datei zu ändern.
Die verwendeten Berechtigungsgruppen sind:
- u – Besitzer
- g – Gruppe
- o – Andere
- a – Alle Benutzer
Ändern des Besitzbefehls in Linux
Der Befehl chown
wird verwendet, um den Eigentümer einer Datei zu ändern.
Das Folgende ist die grundlegende Syntax:
$ chown [name] [filename]
Als Wert des Benutzers kann der Name eines Systembenutzers oder die Benutzer-ID (UID) eines Systembenutzers verwendet werden.
Ähnlich, um den Gruppenbesitzer der Datei zu ändern:
$ chgrp [group_name] [filename]
Verwendung von den chmod
im absoluten Modus unter Linux
Die Dateiberechtigungen können auch im Zahlencode geändert werden. Die entsprechenden Zahlencodes für den Zugriffsmodus lauten wie folgt:
Ziffern | Zugriffsmodus |
---|---|
0 | --- |
1 | -x |
2 | -w- |
3 | -wx |
4 | r- |
5 | r-x |
6 | rw- |
7 | rwx |
Zum Beispiel gibt chmod 711 Dateiname
dem Eigentümer alle Rechte und allen anderen Benutzern nur das Ausführungsrecht.
Schauen wir uns die Berechtigungen der Datei testfile
an.
$ ls -l testfile
Ausgabe:
-rw-rw-r-- 1 user user 0 Jan 14 01:00 testfile
Jetzt mit Zahlencode mit chmod
.
$ chmod 711 testfile
$ ls -l testfile
Ausgabe:
-rwx--x--x 1 user user 0 Jan 14 01:00 testfile
Wie in der Ausgabe zu sehen ist, wurde die Dateiberechtigung geändert.