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

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

Linux ist ein Mehrbenutzer-Betriebssystem, was bedeutet, dass es mehrere Benutzer gleichzeitig unterstützt.

Da viele Personen gleichzeitig auf das System zugreifen können und einige Ressourcen gemeinsam genutzt werden, steuert Linux den Zugriff über Eigentum und Berechtigungen.

Linux-Dateieigentum

Unter Linux gibt es drei Arten von Besitzern:user , group , und others .

Linux-Benutzer

Ein Benutzer ist der standardmäßige Eigentümer und Ersteller der Datei. Daher wird dieser Benutzer auch Besitzer genannt.

Linux-Gruppe

Eine Benutzergruppe ist eine Sammlung von Benutzern. Benutzer, die einer Gruppe angehören, haben die gleichen Linux-Gruppenberechtigungen für den Zugriff auf eine Datei/einen Ordner.

Sie können Gruppen verwenden, um Berechtigungen in großen Mengen zuzuweisen, anstatt sie einzeln zuzuweisen. Ein Benutzer kann auch mehreren Gruppen angehören.

Andere

Alle Benutzer, die nicht Teil der Benutzer- oder Gruppenklassen sind, gehören zu dieser Klasse.

Linux-Dateiberechtigungen

Dateiberechtigungen fallen in drei Kategorien:read , write , und execute .

Leseberechtigung

Bei normalen Dateien erlauben Leseberechtigungen Benutzern nur das Öffnen und Lesen der Datei. Benutzer können die Datei nicht ändern.

In ähnlicher Weise erlauben Leseberechtigungen für Verzeichnisse das Auflisten von Verzeichnisinhalten ohne Änderungen im Verzeichnis.

Schreibberechtigung

Wenn Dateien Schreibrechte haben, kann der Benutzer die Datei ändern (bearbeiten, löschen) und speichern.

Bei Ordnern ermöglichen Schreibberechtigungen einem Benutzer, dessen Inhalt zu ändern (Dateien darin zu erstellen, zu löschen und umzubenennen) und den Inhalt von Dateien zu ändern, für die der Benutzer Schreibberechtigungen hat.

Ausführungsberechtigung

Für Dateien erlauben Ausführungsberechtigungen dem Benutzer, ein ausführbares Skript auszuführen. Bei Verzeichnissen kann der Benutzer darauf zugreifen und auf Details zu Dateien im Verzeichnis zugreifen.

Unten ist die symbolische Darstellung von Berechtigungen für Benutzer, Gruppen und andere.

Beachten Sie, dass wir Berechtigungen von Dateien und Ordnern finden können, indem wir lange Listen verwenden (ls -l ) auf einem Linux-Terminal.

In der obigen Ausgabe d repräsentiert ein Verzeichnis und- stellt eine normale Datei dar.

So ändern Sie Berechtigungen in Linux mit chmod Befehl

Nachdem wir nun die Grundlagen von Eigentumsrechten und Berechtigungen kennen, sehen wir uns an, wie wir Berechtigungen mit chmod ändern können Befehl.

Syntax von chmod :

chmod permissions filename

Wo,

  • permissions kann gelesen, geschrieben, ausgeführt oder eine Kombination davon sein.
  • filename ist der Name der Datei, für die die Berechtigungen geändert werden müssen. Dieser Parameter kann auch eine Liste sein, wenn Dateien Berechtigungen in großen Mengen ändern sollen.

Wir können Berechtigungen auf zwei Arten ändern:

  1. Symbolischer Modus :Diese Methode verwendet Symbole wie u , g , o um Benutzer, Gruppen und andere zu repräsentieren. Berechtigungen werden als r, w, x dargestellt zum Lesen, Schreiben bzw. Ausführen. Sie können Berechtigungen mit +, - und =ändern.
  2. Absolutmodus :Diese Methode stellt Berechtigungen als 3-stellige Oktalzahlen von 0-7 dar.

Sehen wir sie uns nun im Detail an.

So ändern Sie Berechtigungen im symbolischen Modus

Die folgende Tabelle fasst die Benutzerdarstellung zusammen:

Benutzerdarstellung Beschreibung
du Benutzer/Eigentümer
g Gruppe
o Andere

Wir können mathematische Operatoren verwenden, um Berechtigungen hinzuzufügen, zu entfernen und zuzuweisen. Die folgende Tabelle zeigt die Zusammenfassung:

Operator Beschreibung
+ Fügt einer Datei oder einem Verzeichnis eine Berechtigung hinzu
Entfernt die Berechtigung
= Setzt die Berechtigung, falls noch nicht vorhanden. Überschreibt auch die Berechtigungen, wenn sie früher festgelegt wurden.

Beispiel:

Angenommen, ich habe ein Skript und möchte es für den Besitzer der Datei zaira ausführbar machen .

Aktuelle Dateiberechtigungen lauten wie folgt:

Lassen Sie uns die Berechtigungen wie folgt aufteilen:

Um Ausführungsrechte hinzuzufügen (x ) an Eigentümer (u ) im symbolischen Modus verwenden, können wir den folgenden Befehl verwenden:

chmod u+x mymotd.sh

Ausgabe:

Jetzt können wir sehen, dass die Ausführungsberechtigungen für Besitzer zaira hinzugefügt wurden .

Weitere Beispiele für das Ändern von Berechtigungen über die symbolische Methode:

  • Entfernen von read und write Berechtigung für group und others :chmod go-rw .
  • Entfernen von read Berechtigungen für others :chmod o-r .
  • Zuweisung von write Berechtigung zur group und Überschreiben bestehender Berechtigungen:chmod g=w .

So ändern Sie Berechtigungen im absoluten Modus

Der absolute Modus verwendet Zahlen, um Berechtigungen darzustellen, und mathematische Operatoren, um sie zu ändern.

Die folgende Tabelle zeigt, wie wir relevante Berechtigungen zuweisen können:

Berechtigung Genehmigung erteilen
lesen füge 4 hinzu
schreiben 2 hinzufügen
ausführen 1 hinzufügen

Per Subtraktion können Berechtigungen entzogen werden. Die folgende Tabelle zeigt, wie Sie relevante Berechtigungen entfernen können.

Berechtigung Berechtigung widerrufen
lesen 4 subtrahieren
schreiben 2 subtrahieren
ausführen 1 subtrahieren

Beispiel :

  • Setzen Sie read (Füge 4 hinzu) für user , read (add 4) und execute (add 1) für group, und nur execute (1 hinzufügen) für andere.

chmod 451 file-name

So haben wir die Berechnung durchgeführt:

Beachten Sie, dass dies dasselbe ist wie r--r-x--x .

  • execution entfernen Rechte von other und group .

Um die Ausführung von other zu entfernen und group , subtrahieren Sie 1 vom Ausführungsteil der letzten 2 Oktette.

  • Weise read zu , write und execute an user , read und execute zu group und nur read an andere.

Dies wäre dasselbe wie rwxr-xr-- .

Wie man den Besitz mit dem chown ändert Befehl

Als Nächstes erfahren Sie, wie Sie den Eigentümer einer Datei ändern. Sie können den Besitz einer Datei oder eines Ordners mit chown ändern Befehl. In einigen Fällen ist zum Ändern des Eigentümers sudo erforderlich Berechtigungen.

Syntax von chown :

chown user filename

So ändern Sie den Benutzerbesitz mit chown

Lassen Sie uns den Besitz von Benutzer zaira übertragen zu Benutzer news .

chown news mymotd.sh

Befehl zum Ändern des Eigentümers:sudo chown news mymotd.sh

Ausgabe:

So ändern Sie die Eigentümerschaft von Benutzern und Gruppen gleichzeitig

Wir können auch chown verwenden Benutzer und Gruppe gleichzeitig zu ändern.

chown user:group filename

So ändern Sie den Verzeichnisbesitz

Sie können den Besitz von Inhalten in einem Verzeichnis rekursiv ändern. Das folgende Beispiel ändert den Besitz von /opt/script Ordner, um den Benutzer admin zuzulassen .

chown -R admin /opt/script

So ändern Sie den Gruppenbesitz

Falls wir nur den Gruppenbesitzer ändern müssen, können wir chown verwenden indem Sie dem Gruppennamen einen Doppelpunkt voranstellen :

chown :admins /opt/script

Angeleitete Übung zu Linux-Berechtigungen

Bisher haben wir Berechtigungen, Eigentumsrechte und die Methoden zu deren Änderung untersucht. Jetzt werden wir unser Gelerntes mit einer geführten Übung verstärken.

Ziel :Um Gruppen zu erstellen und ihren Mitgliedern relevante Berechtigungen zuzuweisen. Überprüfen Sie den Zugriff, indem Sie von nicht autorisierten Benutzern darauf zugreifen.

Aufgabe :Erstellen Sie eine Gruppe namens dev-team und fügen Sie zwei Mitglieder (John und Bob) hinzu. Erstellen Sie einen Ordner /home/dev-team und ändern Sie den Besitz in die Gruppe dev-team . Stellen Sie sicher, dass beide Benutzer im dev-team sind Gruppe gelesen haben und schreiben Zugriff auf den Ordner.

Erstellen Sie eine weitere Gruppe project-manager und fügen Sie einen Benutzer Fatima hinzu dazu. Überprüfen Sie, ob der Ordner /home/dev-team ist über Fatima zugänglich .

Visualisierung des Problems

Wir können das Problem wie folgt visualisieren:

Schritt 1:Zum Root-Benutzer wechseln.
Wechseln Sie zum Root-Benutzer, damit wir die Rechte zum Erstellen neuer Benutzer und Gruppen haben.

Hinweis anzeigen

Verwenden Sie das sudo Befehl mit Flag i .

Wenn Sie das Root-Passwort haben, können Sie sich auch damit anmelden.

Lösung anzeigen

Geben Sie sudo -i ein um zum Root-Benutzer zu wechseln.

Geben Sie whoami ein um herauszufinden, ob Sie der Root-Benutzer sind:

Wenn Sie root nicht haben Zugriff, verwenden Sie die Befehle mit angehängtem sudo .

Schritt 2:Erstellen Sie eine Gruppe dev-team

Hinweis anzeigen

Verwenden Sie das groupadd Befehl.

Syntax:groupadd group-name

Lösung anzeigen

Geben Sie groupadd dev-team ein um das dev-team zu erstellen Gruppe

Überprüfen Sie:cat /etc/group | grep dev-team

Schritt 3:Erstellen Sie zwei neue Benutzer John und Bob und fügen Sie sie dem dev-team hinzu Gruppe

Hinweis anzeigen

Verwenden Sie den Befehl useradd .

useradd erstellt einen neuen Benutzer und fügt ihn der angegebenen Gruppe hinzu.

Syntax:useradd -G groupname username

Wobei -G gibt die Gruppe an.

Lösung anzeigen

useradd -G dev-team John

useradd -G dev-team Bob

Überprüfen Sie:cat /etc/group | grep dev-team

Schritt 4:Passwörter für die Benutzer John und Bob bereitstellen

Hinweis anzeigen

Verwenden Sie den Befehl passwd

passwd erstellt ein Passwort für Benutzer.

Syntax:passwd username

Lösung anzeigen

passwd John

passwd Bob

Schritt 5:Erstellen Sie ein Verzeichnis in /home und nennen Sie es dev-team

Hinweis anzeigen

Verwenden Sie den Befehl mkdir

mkdir erstellt ein Verzeichnis.

Syntax:mkdir directory-name

Lösung anzeigen

mkdir /home/dev-team

Verifizieren:

Schritt 6:Ändern Sie den Gruppenbesitz des Ordners dev-team um dev-team zu gruppieren

Hinweis anzeigen

Verwenden Sie den Befehl chown

Syntax:chown :group-name folder

Lösung anzeigen

chown :dev-team /home/dev-team/

Schritt 7:Stellen Sie die Berechtigungen des Ordners dev-team sicher Gruppenmitgliedern erlauben, Dateien zu erstellen und zu löschen.

Hinweis anzeigen

Verwenden Sie den Befehl chmod

Schreibberechtigungen erlauben Benutzern und Gruppen das Erstellen und Löschen von Dateien.

Syntax:chmod permissions folder

Lösung anzeigen

chmod g+w /home/dev-team/

Schritt 8:Stellen Sie sicher, dass „andere“ keinen Zugriff auf die Dateien von dev-team haben Ordner.

Hinweis anzeigen

Verwenden Sie den Befehl chmod

Lese-, Schreib- und Ausführungsberechtigungen von „anderen“ entfernen, falls vorhanden.

Syntax:chmod permissions folder

Lösung anzeigen

chmod o-rx dev-team

Schritt 9:Verlassen Sie das root Sitzung und wechseln Sie zu John

Hinweis anzeigen

Verwenden Sie den Befehl exit zum Abmelden des Root-Benutzers.

Verwenden Sie su Benutzer wechseln.

Syntax:su - user

Um den aktuellen Benutzer zu bestätigen, verwenden Sie den Befehl whoami .

Lösung anzeigen

exit

su - John

Überprüfen Sie dies mit dem Befehl whoami .

Schritt 10:Navigieren Sie zum Ordner:/home/dev-team

Hinweis anzeigen

Verwenden Sie den Befehl cd Ordner wechseln.

Syntax:cd /path/to/folder

Bestätigen Sie den aktuellen Pfad mit pwd .

Lösung anzeigen

cd /home/dev-team

Schritt 11:Erstellen Sie eine leere Datei im Ordner:/home/dev-team

Hinweis anzeigen

Verwenden Sie den Befehl touch um eine leere Datei zu erstellen.

Syntax:touch filename

Lösung anzeigen

touch john-file.txt

Überprüfen Sie:ls -lrt

Schritt 12:Ändern Sie den Gruppenbesitz der erstellten Datei in dev-team und überprüfen.

Hinweis anzeigen

Verwenden Sie den Befehl chown Besitzer wechseln.

Syntax:chown :group file-name

Lösung anzeigen

chown :dev-team john-file.txt

Sobald der Gruppenbesitz geändert wurde, können alle Mitglieder der Gruppe auf diese Datei zugreifen.

Überprüfen Sie ls -lrt

Schritt 13:Verlassen Sie die Shell und wechseln Sie zu Benutzer Bob

Hinweis anzeigen

Verwenden Sie den Befehl exit um das Terminal zu verlassen.

Verwenden Sie su Benutzer wechseln.

Syntax:su - user

Um den aktuellen Benutzer zu bestätigen, verwenden Sie den Befehl whoami .

Lösung anzeigen

exit

su - Bob

Verifizieren Sie den aktuellen Benutzer mit dem Befehl whoami .

Schritt 14:Navigieren Sie zum Pfad /home/dev-team

Hinweis anzeigen

Verwenden Sie den Befehl cd Ordner wechseln.

Syntax:cd /path/to/folder

Bestätigen Sie den aktuellen Pfad mit pwd .

Lösung anzeigen

cd /home/dev-team

Schritt 15:Finden Sie Bob's heraus Berechtigungen für den Zugriff auf john-file.txt

Hinweis anzeigen

Verwenden Sie den Befehl ls -l für lange Auflistung.

Syntax:ls -l | grep file-name

Hat die Gruppe rw- Berechtigungen?

Lösung anzeigen

ls -l | grep john-file.txt

Schritt 16:Ändern Sie die Datei john-file.txt während Sie als Bob angemeldet sind

Hinweis anzeigen

Verwenden Sie den Befehl echo um der Datei etwas Text hinzuzufügen.

Syntax:echo "Some text" >>file-name

Dies würde den zitierten Text an das Ende der Datei umleiten.

Lösung anzeigen

echo "This is Bob's comment" > john-file.txt

Wenn alle Berechtigungen korrekt gesetzt sind, Bob berechtigt, diese Datei zu bearbeiten und zu speichern. Andernfalls erhalten Sie eine Fehlermeldung wie diese:Permission denied .

Überprüfen Sie cat john-file.txt

Schritt 17:Erstellen Sie eine weitere Gruppe project-manager und weise ein Mitglied Fatima zu dazu

Hinweis anzeigen

Verwenden Sie den Befehl groupadd um eine neue Gruppe hinzuzufügen.

Syntax:groupadd group-name

Erstellen Sie einen neuen Benutzer mit dem Befehl useradd .

Verwenden Sie das Flag -G um ihm einen Benutzer zuzuweisen.

Lösung anzeigen
groupadd project-manager
useradd -G project-manager Fatima
passwd Fatima

Schritt 18:Navigieren Sie zum Ordner /home/dev-team und überprüfen Sie, ob Fatima darauf zugreifen kann

Hinweis anzeigen

Verwenden Sie cd um zu /home/dev-team zu navigieren .

Lösung anzeigen

cd /home/dev-team .

Wir erhalten diesen Fehler:

Das liegt daran, others keinen Zugriff auf den Ordner dev-team haben .

Wenn wir uns erinnern, sind unten die Rechte des dev-team aufgeführt Ordner.

Abschluss

Berechtigungen und Eigentumsrechte sind nützliche Konzepte zur Durchsetzung der Sicherheit in Mehrbenutzer-Betriebssystemen. Ich hoffe, Sie konnten sich ausführlich über das Ändern von Berechtigungen und Eigentumsrechten informieren.

Was ist Ihre Lieblingssache, die Sie aus diesem Tutorial gelernt haben? Lass es mich auf Twitter wissen!

Du kannst auch meine anderen Posts hier lesen.

Danke an Tom Mondloch für seine Hilfe bei der geführten Übung.


Linux
  1. So kopieren Sie Dateiberechtigungen und Eigentumsrechte in eine andere Datei in Linux

  2. So verwenden Sie den Befehl chown, um den Besitz in Linux zu ändern

  3. So verwenden Sie den Befehl chmod (Modus ändern) unter Linux

  4. So verwalten Sie Datei- und Verzeichnisberechtigungen/Eigentümer in Linux

  5. Wie chmod und chown versteckte Dateien in Linux?

So ändern Sie Berechtigungen in Linux

Was ist UID in Linux, wie man es findet und ändert

Chmod-Befehl – ​​So ändern Sie Dateiberechtigungen in Linux

Erfahren Sie, wie Sie den Befehl chown (Eigentum ändern) unter Linux verwenden

So ändern Sie den Benutzer unter Linux

Grundlegende Dateiberechtigungen und Eigentumsrechte in Linux verstehen