Dateiberechtigungen unter Linux/Unix: Wie kann ich lesen, schreiben und ändern?
Linux ist ein Klon von UNIX, dem Mehrbenutzer-Betriebssystem, auf das mehrere Benutzer gleichzeitig zugreifen können. Linux kann auch ohne Änderungen auf Großrechnern und Servern verwendet werden. Dies wirft jedoch Sicherheitsbedenken auf, da ein unerwünschter oder böswilliger Benutzer wichtige Daten beschädigen, ändern oder entfernen kann. Für eine effektive Sicherheit unterteilt Linux die Autorisierung in zwei Ebenen.
- Impressum
- Genehmigung
Das Konzept der Linux-Datei Erlaubnis und Eigentum ist unter Linux von entscheidender Bedeutung. Hier erklären wir die Linux-Berechtigungen und den Besitz und gehen auf beides ein. Beginnen wir mit dem Eigentum.
Klicke Here wenn das Video nicht zugänglich ist
Besitz von Linux-Dateien
Jeder Datei und jedem Verzeichnis auf Ihrem Unix/Linux-System werden 3 Arten von Eigentümern zugewiesen, die unten angegeben sind.
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
Eine Benutzergruppe kann mehrere Benutzer enthalten. Alle Benutzer, die einer Gruppe angehören, haben dieselben Linux-Gruppenberechtigungen für den Zugriff auf die Datei. Angenommen, Sie haben ein Projekt, bei dem mehrere Personen Zugriff auf eine Datei benötigen. Anstatt jedem Benutzer manuell Berechtigungen zuzuweisen, könnten Sie alle Benutzer zu einer Gruppe hinzufügen und der Gruppe die Dateiberechtigung zuweisen, sodass nur diese Gruppenmitglieder und niemand sonst die Dateien lesen oder ändern kann.
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 es alle anderen. Wenn Sie also die Berechtigung für andere festlegen, wird dies auch als „Berechtigungen für die Welt festlegen“ bezeichnet.
Nun stellt sich die große Frage wie Linux unterscheiden zwischen diesen drei Benutzertypen, sodass ein Benutzer „A“ keinen Einfluss auf eine Datei haben kann, die wichtige Informationen/Daten eines anderen Benutzers „B“ enthält. Es ist, als ob Sie Ihren Kollegen, der an Ihnen arbeitet, nicht wollen Linux-Computer, um Ihre Bilder anzuzeigen. Das ist wo Berechtigungen einsetzen, und sie definieren Benutzerverhalten.
Lassen Sie uns das verstehen Berechtigungssystem unter Linux.
Linux-Dateiberechtigungen
Für jede Datei und jedes Verzeichnis in Ihrem UNIX/Linux-System sind die folgenden drei Berechtigungen für alle drei oben beschriebenen Eigentümer definiert.
- Lesen: Diese Berechtigung gibt Ihnen die Berechtigung, eine Datei zu öffnen und zu lesen. Die Leseberechtigung für ein Verzeichnis gibt Ihnen die Möglichkeit, seinen Inhalt aufzulisten.
- Schreiben: Die Schreibberechtigung gibt Ihnen die Berechtigung, den Inhalt einer Datei zu ändern. Die Schreibberechtigung für ein Verzeichnis gibt Ihnen die Berechtigung, im Verzeichnis gespeicherte Dateien hinzuzufügen, zu entfernen und umzubenennen. Stellen Sie sich ein Szenario vor, in dem Sie eine Schreibberechtigung für die Datei benötigen, aber keine Schreibberechtigung für das Verzeichnis haben, in dem die Datei gespeichert ist. Sie können den Dateiinhalt ändern. Sie können die Datei jedoch nicht umbenennen, verschieben oder aus dem Verzeichnis entfernen.
- Execute: In Windows, ein ausführbares Programm hat normalerweise die Erweiterung „.exe“ und kann problemlos ausgeführt werden. Unter Unix/Linux können Sie ein Programm nur ausführen, wenn die Ausführungsberechtigung festgelegt ist. Wenn die Ausführungsberechtigung nicht festgelegt ist, können Sie den Programmcode möglicherweise immer noch sehen/ändern (vorausgesetzt, dass Lese- und Schreibberechtigungen festgelegt sind), ihn jedoch nicht ausführen.
Sehen wir uns Dateiberechtigungen in Linux mit Beispielen an:
ls – l auf Terminal gibt
ls - l
Hier haben wir hervorgehoben '-rw-rw-r–'und dieser seltsam aussehende Code ist derjenige, der uns über die Unix-Berechtigungen informiert, die dem Besitzer, der Benutzergruppe und der Welt gegeben wurden.
Hier das erste '-' impliziert, dass wir eine Datei ausgewählt haben.p>
Andernfalls, wenn es ein Verzeichnis wäre, d gezeigt worden wäre.
Die Charaktere sind ziemlich leicht zu merken.
r = Leseberechtigung
w = Schreibberechtigung
x = Erlaubnis ausführen
- = keine Erlaubnis
Betrachten wir es mal so.
Der erste Teil des Codes ist 'rw-'. Dies deutet darauf hin, dass der Eigentümer „Home“ Folgendes tun kann:
- Lesen Sie die Datei
- Schreiben oder bearbeiten Sie die Datei
- Er kann die Datei nicht ausführen, da das Ausführungsbit auf '-' gesetzt ist.
Viele Linux-Distributionen wie Fedora, CentOS, Ubuntuusw. fügt Benutzer zu einer Gruppe hinzu, die denselben Gruppennamen wie der Benutzername hat. Somit wird ein Benutzer „tom“ zu einer Gruppe namens „tom“ hinzugefügt.
Der zweite Teil ist 'rw-'. Es kann für die Benutzergruppe „Home“ und Gruppenmitglieder:
- Lesen Sie die Datei
- Schreiben oder bearbeiten Sie die Datei
Der dritte Teil ist für die Welt, was jeden Benutzer bedeutet. Es sagt 'r-'. Das bedeutet, dass der Benutzer nur:
- Lesen Sie die Datei
Ändern von Datei-/Verzeichnisberechtigungen in Linux mit dem Befehl „chmod“.
Angenommen, Sie möchten nicht, dass Ihr Kollege Ihre persönlichen Bilder sieht. Dies kann durch Ändern der Dateiberechtigungen erreicht werden.
Wir können das 'chmod' Befehl, der für "Modus ändern" steht. Mit dem Befehl können wir Berechtigungen (Lesen, Schreiben, Ausführen) für eine Datei/ein Verzeichnis für den Eigentümer, die Gruppe und die Welt festlegen.
Syntax:
chmod permissions filename
Es gibt zwei Möglichkeiten, das zu verwenden Befehl -
- Absoluter Modus
- Symbolischer Modus
Absoluter (numerischer) Modus in Linux
In diesem Modus file Berechtigungen werden nicht als Zeichen, sondern als dreistellige Oktalzahl dargestellt.
In der folgenden Tabelle sind die Nummern für alle Berechtigungstypen aufgeführt.
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 |
Sehen wir uns den Befehl chmod permissions in Aktion an.
Im oben angegebenen Terminalfenster haben wir die Berechtigungen der Datei ‚sample‘ auf ‚764‘ geändert.
Der absolute Code „764“ bedeutet Folgendes:
- Besitzer kann lesen, schreiben und ausführen
- Benutzergruppe kann lesen und schreiben
- Welt kann nur lesen
Dies wird als '-rwxrw-r– angezeigt
So können Sie Benutzerberechtigungen in Linux on file ändern, indem Sie eine absolute Zahl zuweisen.
Symbolischer Modus unter Linux
Im Absolutmodus ändern Sie die Berechtigungen für alle drei Eigentümer. Im symbolischen Modus können Sie die Berechtigungen eines bestimmten Eigentümers ändern. Es verwendet mathematische Symbole, um die Unix-Dateiberechtigungen zu ändern.
OperaDo. | BESCHREIBUNG |
---|---|
+ |
Fügt einer Datei oder einem Verzeichnis eine Berechtigung hinzu |
- |
Entfernt die Berechtigung |
= |
Legt die Berechtigung fest und überschreibt die zuvor festgelegten Berechtigungen. |
Die verschiedenen Eigentümer werden dargestellt als –
Benutzerbezeichnungen | |
---|---|
u |
Benutzer / Besitzer |
g |
Gruppe |
o |
Andere |
a |
alle |
Wir werden keine Berechtigungen in Zahlen wie 755 verwenden, sondern in Zeichen wie rwx. Schauen wir uns ein Beispiel an
Eigentümer und Gruppe unter Linux ändern
Um den Besitz einer Datei/eines Verzeichnisses zu ändern, können Sie den folgenden Befehl verwenden:
chown user filename
Wenn Sie sowohl den Benutzer als auch die Gruppe für eine Datei oder ein Verzeichnis ändern möchten, verwenden Sie den Befehl
chown user:group filename
Sehen wir uns das in Aktion an
Wenn Sie nur den Gruppeneigentümer ändern möchten, verwenden Sie den Befehl
chgrp group_name filename
'chgrp' steht für Change Group.
Tipp
- Die Datei /etc/group enthält alle im System definierten Gruppen
- Mit dem Befehl „Gruppen“ können Sie alle Gruppen finden, in denen Sie Mitglied sind
- Sie können den Befehl newgrp verwenden, um als Mitglied einer anderen Gruppe als Ihrer Standardgruppe zu arbeiten
- Sie können nicht zwei Gruppen haben, die dieselbe Datei besitzen.
- Unter Linux gibt es keine verschachtelten Gruppen. Eine Gruppe kann keine Untergruppe einer anderen sein
- x- Das Ausführen eines Verzeichnisses bedeutet, dass man ein Verzeichnis „betreten“ darf und möglicherweise Zugriff auf Unterverzeichnisse erhält
- Es gibt weitere Berechtigungen, die Sie für Dateien und Verzeichnisse festlegen können. Diese werden in einem späteren Tutorial für Fortgeschrittene behandelt.
Zusammenfassung:
- Da Linux ein Mehrbenutzersystem ist, nutzt es aus Sicherheitsgründen Berechtigungen und Eigentumsrechte.
- Es gibt drei Benutzertypen auf einem Linux-System, nämlich Benutzer, Gruppe und Andere
- Linux unterteilt die Dateiberechtigungen in Lesen, Schreiben und Ausführen, gekennzeichnet durch r,w und x
- Die Berechtigungen für eine Datei können mit dem Befehl „chmod“ geändert werden, der weiter in den absoluten und symbolischen Modus unterteilt werden kann
- Mit dem Befehl „chown“ können Sie den Eigentümer einer Datei/eines Verzeichnisses ändern. Verwenden Sie die folgenden Befehle: chown user file oder chown user:group file
- Der Befehl „chgrp“ kann den Gruppeneigentum ändern Dateiname der chrgrp-Gruppe
- Was bedeutet x – Verzeichnis ausführen? A: Die Erlaubnis, ein Verzeichnis zu „betreten“ und möglichen Zugriff auf Unterverzeichnisse zu erhalten.