Linux-Dateiberechtigungen

Linux-Dateiberechtigungen - 1.0

Die Grundlagen des Dateieigentums und der Berechtigungen unter Linux. Erfahren Sie, wer die Eigentümer einer Datei oder eines Verzeichnisses sind, wie die Dateiberechtigungen funktionieren und wie Sie sie anzeigen können. Außerdem erfahren Sie, wie Sie grundlegende Dateiberechtigungen selbst festlegen.

Berechtigungen und Eigentum - warum? >

Wenn Sie auf Ihrem Linux-System nicht auf einige der Dateien zugreifen können, liegt dies normalerweise an falsch konfigurierten Dateizugriffsberechtigungen. Wenn Sie der einzige Benutzer auf Ihrer Linux-Box sind, fragen Sie sich möglicherweise, wozu all diese Berechtigungen (oder deren Fehlen) führen, die Ihren Zugriff auf Ihr eigenes Pinguin-Betriebssystem einschränken. Bevor Sie sich jedoch die Haare abreißen, müssen Sie bedenken, dass Linux als Mehrbenutzerumgebung konzipiert ist. In einer Umgebung mit mehr als einem Benutzer ist es wichtig, über ein sicheres System zu verfügen, um zu entscheiden, welche Dateien Ihnen gehören und wer mit ihnen herumspielen kann.

Selbst wenn Sie der einzige Benutzer auf einem normalen Desktop-System sind, tragen Dateiberechtigungen dazu bei, Ihre wichtigen Dateien sowohl vor Außenstehenden als auch vor Ihren eigenen Fehlern zu schützen. 🙂

 

Informationen zum Besitz von Dateien >

Jede Datei in Ihrem Linux-System, einschließlich der Verzeichnisse, gehört einem bestimmten Benutzer und einer bestimmten Gruppe. Daher werden Dateiberechtigungen separat für Benutzer, Gruppen und andere definiert.

Benutzer: Der Benutzername der Person, der die Datei gehört. Standardmäßig wird der Benutzer, der die Datei erstellt, zu seinem Besitzer.

Gruppen: Die Benutzergruppe, der die Datei gehört. Alle Benutzer, die zu der Gruppe gehören, der die Datei gehört, haben dieselben Zugriffsberechtigungen für die Datei. Dies ist nützlich, wenn Sie beispielsweise ein Projekt haben, bei dem mehrere Benutzer auf bestimmte Dateien zugreifen müssen, während andere dies nicht können. In diesem Fall fügen Sie alle Benutzer derselben Gruppe hinzu, stellen sicher, dass die erforderlichen Dateien dieser Gruppe gehören, und legen die Gruppenberechtigungen der Datei entsprechend fest.

Sonstiges: Ein Benutzer, der nicht der Eigentümer der Datei ist und nicht zu derselben Gruppe gehört wie die Datei. Mit anderen Worten, wenn Sie eine Berechtigung für die Kategorie "Andere" festlegen, wirkt sich dies standardmäßig auf alle anderen aus. Aus diesem Grund wird häufig über das Setzen des Berechtigungsbits "Welt" gesprochen, wenn die Berechtigungen für "Andere" festgelegt werden sollen.

 

Dateiberechtigungen verstehen >

Unter Linux gibt es drei Arten von Zugriffsberechtigungen: Lesen, Schreiben und Ausführen. Diese Berechtigungen werden für den Eigentümer, die Gruppe und alle anderen Benutzer der Datei separat definiert.

Lesen Sie die Erlaubnis. Bei einer regulären Datei bedeutet das Leseberechtigungsbit, dass die Datei geöffnet und gelesen werden kann. In einem Verzeichnis bedeutet die Leseberechtigung, dass Sie den Inhalt des Verzeichnisses auflisten können.

Schreibberechtigung Bei einer normalen Datei bedeutet dies, dass Sie die Datei ändern oder neue Daten in die Datei schreiben können. Im Fall eines Verzeichnisses bedeutet die Schreibberechtigung, dass Sie Dateien im Verzeichnis hinzufügen, entfernen und umbenennen können. Dies bedeutet, dass Sie, wenn eine Datei über das Schreibberechtigungsbit verfügt, den Inhalt der Datei ändern dürfen, die Datei jedoch nur dann umbenennen oder löschen dürfen, wenn die Berechtigungen der Datei vorliegen Verzeichnis erlaube es dir so.

Berechtigung ausführen Bei einer regulären Datei bedeutet dies, dass Sie die Datei als Programm oder Shell-Skript ausführen können. In einem Verzeichnis können Sie mit der Ausführungsberechtigung (auch als "Suchbit" bezeichnet) auf Dateien im Verzeichnis zugreifen und diese mit dem eingeben cd Befehl zum Beispiel. Beachten Sie jedoch, dass Sie mit dem Ausführungsbit zwar das Verzeichnis eingeben können, dessen Inhalt jedoch nicht aufgelistet werden darf, es sei denn, Sie verfügen auch über die Leseberechtigungen für dieses Verzeichnis.

 

So zeigen Sie Dateiberechtigungen an >

Sie können die Zugriffsberechtigungen einer Datei anzeigen, indem Sie die lange Verzeichnisliste mit der ls -l Befehl. So könnte eine lange Verzeichnisliste aussehen:

me@puter: /home/writers$ ls -l
total 17
drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile

Was ist die Ausgabe von ls -l bedeuten? Die allererste Spalte, die wie ein Haufen Hokuspokus aussieht, zeigt den Dateityp und die Berechtigungen. Die zweite Spalte zeigt die Anzahl der Links (Verzeichniseinträge, die sich auf die Datei beziehen), die dritte den Eigentümer der Datei und die vierte die Gruppe, zu der die Datei gehört. Die anderen Spalten zeigen die Dateigröße in Bytes, Datum und Uhrzeit der letzten Änderung sowie den Dateinamen.

Die erste Spalte, die die Berechtigungen der Datei anzeigt und wie Hokuspokus aussieht, ist in vier separate Gruppen unterteilt, obwohl sie sicherlich nicht sehr organisiert aussieht.

Die erste Gruppe besteht nur aus einem Zeichen und zeigt den Dateityp an. Zum Beispiel, d bedeutet ein Verzeichnis und - bedeutet eine normale Datei. Wenn Sie sich also unsere Beispielausgabe ansehen, werden Sie feststellen dir ist ein Verzeichnis, während file und otherfile sind reguläre Dateien.

Das erste Zeichen kann eines davon sein:

d = Verzeichnis
- = reguläre Datei
l = symbolischer Link
s = Unix-Domain-Socket
p = Named Pipe
c = Zeichengerätedatei
b = Gerätedatei blockieren

Die nächsten neun Zeichen zeigen die Berechtigungen der Datei, unterteilt in drei Gruppen, die jeweils aus drei Zeichen bestehen. Die erste Gruppe von drei Zeichen zeigt die Lese-, Schreib- und Ausführungsberechtigungen für Benutzerder Besitzer der Datei. Die nächste Gruppe zeigt die Lese-, Schreib- und Ausführungsberechtigungen für Gruppe der Datei. In ähnlicher Weise zeigt die letzte Gruppe von drei Zeichen die Berechtigungen für Sonstiges, jeder andere. In jeder Gruppe steht das erste Zeichen für die Leseberechtigung, das zweite für die Schreibberechtigung und das dritte für die Ausführungsberechtigung.

Die Charaktere sind ziemlich leicht zu merken.

r = Leseberechtigung
w = Schreibberechtigung
x = Erlaubnis ausführen
- = keine Erlaubnis

Was bedeutet das in der Praxis? Lassen Sie uns ein Beispiel haben. Erinnern Sie sich an die imaginäre Verzeichnisliste, die wir am Anfang gemacht haben? Die Ausgabe sah folgendermaßen aus:

drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile

Wie wir schon bemerkt haben, dir ist ein Verzeichnis, da die erste Spalte mit a beginnt d. Der Besitzer dieses Verzeichnisses ist Benutzer nana und der Gruppenbesitzer ist writers. Die ersten drei Zeichen, rwxGeben Sie den Eigentümer des Verzeichnisses an. nana In diesem Fall hat vollen Zugriff auf das Verzeichnis. Der Benutzer nana kann auf die Dateien in diesem Verzeichnis zugreifen, sie anzeigen und ändern. Die nächsten drei Zeichen, r-x, geben Sie an, dass alle Benutzer einer Gruppe angehören writers Lese- und Ausführungsberechtigungen für das Verzeichnis haben. Sie können in das Verzeichnis wechseln, Dateien ausführen und deren Inhalt anzeigen. Da sie jedoch keine Schreibberechtigungen haben, können sie keine Änderungen am Verzeichnisinhalt vornehmen. Schließlich die letzten drei Zeichen, r-x, geben Sie an, dass alle Benutzer, die dies nicht tun nana oder nicht in eine Gruppe gehören writers, habe Lese- und Ausführungsberechtigungen im Verzeichnis.

Wie wäre es mit file? Weil die erste Spalte mit a beginnt -Die Datei ist eine reguläre Datei, die dem Benutzer gehört nana und Gruppe writersgenau wie das Verzeichnis in unserem Beispiel. Die ersten drei Zeichen, rw-Geben Sie an, dass der Besitzer Lese- und Schreibzugriff auf die Datei hat. Nach den nächsten drei Zeichen, r--, die zur Gruppe gehörenden Benutzer writers kann die Datei anzeigen, aber nicht ändern oder ausführen. Die letzten drei Zeichen, ---Geben Sie an, dass niemand anderes Zugriff auf die Datei hat.

Ähnlich kannst du sehen otherfile ist eine reguläre Datei, und der Besitzer hat vollen Zugriff darauf, während alle anderen die Datei lesen und ausführen können, sie jedoch nicht ändern.

 

So legen Sie Dateiberechtigungen fest - symbolischer Modus >

Sie können Dateiberechtigungen mit festlegen chmod Befehl. Sowohl der Root-Benutzer als auch der Dateieigentümer können Dateiberechtigungen festlegen. chmod hat zwei Modi, symbolisch und numerisch.

Der symbolische Modus ist ziemlich leicht zu merken. Zunächst entscheiden Sie, ob Sie Berechtigungen für den Benutzer (u), die Gruppe (g), andere (o) oder alle drei (a) festlegen. Anschließend fügen Sie entweder eine Berechtigung (+) hinzu, entfernen sie (-) oder löschen die vorherigen Berechtigungen und fügen eine neue hinzu (=). Als Nächstes entscheiden Sie, ob Sie die Leseberechtigung (r), die Schreibberechtigung (w) oder die Ausführungsberechtigung (x) festlegen. Zuletzt wirst du es sagen chmod Welche Berechtigungen möchten Sie ändern?

Lassen Sie uns ein paar Beispiele haben. Angenommen, wir haben eine reguläre Datei namens testfile, und die Datei verfügt über volle Zugriffsberechtigungen für alle Gruppen (eine lange Verzeichnisliste würde angezeigt -rwxrwxrwx als die Berechtigungen der Datei).

Löschen Sie alle Berechtigungen, fügen Sie jedoch die Leseberechtigung für alle hinzu:
chmod a=r testfile
Nach dem Befehl lauten die Berechtigungen der Datei -r--r--r--

Fügen Sie Ausführungsberechtigungen für eine Gruppe hinzu:
chmod g+x testfile
Jetzt wären die Berechtigungen der Datei -r--r-xr--

Fügen Sie Schreib- und Ausführungsberechtigungen für den Eigentümer der Datei hinzu. Beachten Sie, wie Sie mehrere Berechtigungen gleichzeitig festlegen können:
chmod u+wx testfile
Danach werden die Dateiberechtigungen erteilt -rwxr-xr--

Entfernen Sie die Ausführungsberechtigung sowohl vom Eigentümer als auch von der Gruppe der Datei. Beachten Sie erneut, wie Sie beide gleichzeitig einstellen können:
chmod ug-x testfile
Jetzt sind die Berechtigungen -rw-r--r--

Sehen Sie sich als Zusammenfassung diese kurze Referenz zum Festlegen von Dateiberechtigungen im symbolischen Modus an:

Welcher Benutzer?
u Benutzer / Besitzer
g Gruppe
o Sonstiges
a alle
Was ist zu tun?
+ Fügen Sie diese Erlaubnis hinzu
- Entfernen Sie diese Erlaubnis
= Setzen Sie genau diese Berechtigung
Welche Berechtigungen
r lesen
w schreiben
x ausführen

 

So legen Sie Dateiberechtigungen fest - numerischer Modus >

Der andere Modus in dem chmod verwendet werden kann ist der numerische Modus. Im numerischen Modus werden die Dateiberechtigungen nicht durch Zeichen dargestellt. Stattdessen werden sie durch eine dreistellige Oktalzahl dargestellt.

= lesen (r)
2 = schreiben (w)
1 = ausführen (x)
0 = keine Erlaubnis (-)

Um die gewünschten Berechtigungsbits zu erhalten, addieren Sie die Zahlen entsprechend. Zum Beispiel wären die rwx-Berechtigungen 4 + 2 + 1 = 7, rx wäre 4 + 1 = 5 und rw wäre 4 + 2 = 6. Da Sie separate Berechtigungen für den Eigentümer, die Gruppe und andere festlegen, benötigen Sie eine dreistellige Nummer, die die Berechtigungen aller dieser Gruppen darstellt.

Lassen Sie uns ein Beispiel haben.
chmod 755-Testdatei
Das würde das ändern testfileBerechtigungen zu -rwxr-xr-x. Der Besitzer hätte volle Lese-, Schreib- und Ausführungsberechtigungen (7 = 4 + 2 + 1), die Gruppe hätte Lese- und Ausführungsberechtigungen (5 = 4 + 1) und die Welt hätte auch Lese- und Ausführungsberechtigungen .

Lassen Sie uns ein anderes Beispiel haben:
chmod 640-Testdatei
In diesem Fall testfileDie Berechtigungen wären -rw-r-----. Der Eigentümer hätte Lese- und Schreibberechtigungen (6 = 4 + 2), die Gruppe hätte nur Leseberechtigungen (4) und die anderen hätten keine Zugriffsberechtigungen (0).

Der numerische Modus ist möglicherweise nicht so einfach wie der symbolische Modus. Mit dem numerischen Modus können Sie jedoch die Dateiberechtigungen schneller und effizienter festlegen. Diese Kurzanleitung zum Festlegen von Dateiberechtigungen im numerischen Modus kann hilfreich sein:

Welche Nummer?
0 -
1 –X
2 -w-
3 -wx
4 R-
5 rx
6 rw-
7 rwx