Linux-Gruppenänderung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Unter Linux wird jeder Datei und jedem Verzeichnis sowohl ein Benutzer als auch eine Gruppe zugewiesen. Dieses Besitzsystem ist ein grundlegendes Element der Linux-Sicherheit und -Zugangskontrolle. Die Fähigkeit, die Gruppenbesitzrechte zu ändern, ist eine essentielle Fähigkeit für Systemadministratoren, die Dateiberechtigungen und Zugangsrechte effizient verwalten müssen.

Dieser Lab (Übungsabschnitt) konzentriert sich auf den Befehl chgrp, mit dem Sie die Gruppenbesitzrechte von Dateien und Verzeichnissen unter Linux ändern können. Durch das Beherrschen dieses Befehls werden Sie ein besseres Verständnis der Dateiberechtigungverwaltung erlangen und einen wichtigen Aspekt der Systemadministration lernen.

Während dieses Labs werden Sie den chgrp-Befehl in verschiedenen Szenarien üben, sowohl für einzelne Dateien als auch rekursiv für Verzeichnisse. Sie werden auch lernen, wie Sie Änderungen an den Gruppenbesitzrechten überprüfen können und warum eine ordnungsgemäße Gruppenverwaltung für die Systemicherheit von entscheidender Bedeutung ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/chgrp("Group Changing") subgraph Lab Skills linux/touch -.-> lab-271239{{"Linux-Gruppenänderung"}} linux/chmod -.-> lab-271239{{"Linux-Gruppenänderung"}} linux/cd -.-> lab-271239{{"Linux-Gruppenänderung"}} linux/mkdir -.-> lab-271239{{"Linux-Gruppenänderung"}} linux/groups -.-> lab-271239{{"Linux-Gruppenänderung"}} linux/chgrp -.-> lab-271239{{"Linux-Gruppenänderung"}} end

Verständnis der Gruppenbesitzrechte von Dateien

Unter Linux hat jede Datei sowohl einen Eigentümer als auch eine Gruppe. Die Gruppenzuweisung bestimmt, welche Benutzer auf die Datei zugreifen können, basierend auf den Gruppenberechtigungen. Lassen Sie uns untersuchen, wie man die Gruppenbesitzrechte anzeigt und ändert.

Zunächst navigieren Sie in das Projektverzeichnis:

cd ~/project

Jetzt erstellen wir eine neue Datei, mit der wir arbeiten können:

touch defense_secrets.txt

Um die aktuellen Besitzrechte und Berechtigungen der Datei anzuzeigen, verwenden Sie den Befehl ls -l:

ls -l defense_secrets.txt

Sie werden eine Ausgabe ähnlich dieser sehen:

-rw-r--r-- 1 labex labex 0 Jan 12 16:20 defense_secrets.txt

Die Ausgabe zeigt mehrere Informationen:

  • Die erste Spalte zeigt die Dateiberechtigungen.
  • Die dritte Spalte zeigt den Eigentümer (labex).
  • Die vierte Spalte zeigt die Gruppe (labex).

In unserem System wurden zwei Gruppen für Sie erstellt: defenders und strategists. Ändern wir nun die Gruppenbesitzrechte unserer Datei von der Standardgruppe labex auf die Gruppe defenders mit dem Befehl chgrp:

sudo chgrp defenders defense_secrets.txt

Jetzt überprüfen wir, ob die Gruppe erfolgreich geändert wurde:

ls -l defense_secrets.txt

Die Ausgabe sollte nun zeigen, dass die Datei der Gruppe defenders gehört:

-rw-r--r-- 1 labex defenders 0 Jan 12 16:20 defense_secrets.txt

Der Befehl chgrp erfordert administrative Berechtigungen, wenn Sie zu einer Gruppe wechseln, der Sie nicht angehören. Deshalb haben wir in diesem Beispiel sudo verwendet.

Rekursives Ändern der Gruppenbesitzrechte

Oft müssen Systemadministratoren nicht nur die Gruppenbesitzrechte einer einzelnen Datei, sondern eines ganzen Verzeichnisses und all seiner Inhalte ändern. Die -R-Option (rekursiv) des chgrp-Befehls macht diese Aufgabe einfach.

Erstellen wir zunächst ein Verzeichnis mit mehreren Dateien zur Übung:

mkdir -p ~/project/operational_plans
touch ~/project/operational_plans/plan1.txt
touch ~/project/operational_plans/plan2.txt

Zunächst überprüfen wir die aktuellen Gruppenbesitzrechte des Verzeichnisses und seiner Dateien:

ls -l ~/project/operational_plans

Sie werden sehen, dass beide Dateien der Standardgruppe labex gehören:

-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan2.txt

Um die Gruppenbesitzrechte des Verzeichnisses und aller darin enthaltenen Dateien auf die Gruppe strategists zu ändern, verwenden Sie den chgrp-Befehl mit der -R-Option:

sudo chgrp -R strategists ~/project/operational_plans

Die -R-Option teilt chgrp mit, rekursiv zu arbeiten, d. h. die Änderung wird auf das Verzeichnis und alles darin angewendet.

Jetzt überprüfen wir, ob die Gruppenbesitzrechte sowohl für das Verzeichnis als auch für seinen Inhalt geändert wurden:

ls -l ~/project
ls -l ~/project/operational_plans

Die Ausgabe sollte zeigen, dass das Verzeichnis und beide Dateien jetzt der Gruppe strategists gehören:

drwxr-xr-x 2 labex strategists 4096 Jan 12 16:30 operational_plans
...

-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan2.txt

Die rekursive Option ist besonders nützlich, wenn es um große Verzeichnisstrukturen geht, bei denen es unpraktikabel wäre, jede Datei manuell zu ändern.

Verständnis von Gruppeninformationen und -berechtigungen

Nachdem Sie nun wissen, wie Sie die Gruppenbesitzrechte ändern können, wollen wir untersuchen, wie Sie Gruppeninformationen anzeigen und verstehen, warum Gruppenberechtigungen wichtig sind.

Unter Linux werden Informationen über Gruppen in der Datei /etc/group gespeichert. Sie können die auf dem System vorhandenen Gruppen mit dem Befehl getent anzeigen:

getent group

Dadurch wird eine lange Liste aller Gruppen auf dem System angezeigt. Um nur die Gruppen anzuzeigen, mit denen wir gearbeitet haben, können Sie die Ausgabe filtern:

getent group | grep -E 'defenders|strategists'

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

defenders:x:1001:
strategists:x:1002:

Um zu sehen, zu welchen Gruppen Ihr aktueller Benutzer gehört, verwenden Sie den Befehl groups:

groups

Die Ausgabe zeigt alle Gruppen, zu denen Ihr Benutzer gehört:

labex adm cdrom sudo dip plugdev lpadmin sambashare

Jetzt wollen wir verstehen, warum Gruppenberechtigungen wichtig sind. Unter Linux werden Dateiberechtigungen für drei Kategorien definiert: Eigentümer, Gruppe und andere. Erstellen wir eine neue Datei und ändern Sie ihre Berechtigungen, um dies zu demonstrieren:

touch ~/project/group_example.txt
ls -l ~/project/group_example.txt

Die Ausgabe zeigt die Standardberechtigungen:

-rw-r--r-- 1 labex labex 0 Jan 12 16:40 group_example.txt

Die Berechtigungszeichenfolge -rw-r--r-- kann wie folgt aufgeteilt werden:

  • Erstes Zeichen: Dateityp (- bedeutet reguläre Datei)
  • Nächste drei Zeichen (rw-): Eigentümerberechtigungen (Lesen, Schreiben, kein Ausführen)
  • Nächste drei Zeichen (r--): Gruppenberechtigungen (nur Lesen)
  • Letzte drei Zeichen (r--): Berechtigungen für andere (nur Lesen)

Ändern wir die Gruppenberechtigungen, um Schreibzugriff zu ermöglichen:

chmod g+w ~/project/group_example.txt
ls -l ~/project/group_example.txt

Die Ausgabe zeigt nun:

-rw-rw-r-- 1 labex labex 0 Jan 12 16:40 group_example.txt

Beachten Sie, dass sich die Gruppenberechtigungen von r-- zu rw- geändert haben.

Schließlich kombinieren wir das, was wir gelernt haben, indem wir sowohl die Gruppenbesitzrechte als auch die Gruppenberechtigungen ändern:

sudo chgrp defenders ~/project/group_example.txt
chmod g+x ~/project/group_example.txt
ls -l ~/project/group_example.txt

Das Ergebnis sollte wie folgt aussehen:

-rw-rwxr-- 1 labex defenders 0 Jan 12 16:40 group_example.txt

Jetzt gehört die Datei der Gruppe defenders und Mitglieder dieser Gruppe haben Lese-, Schreib- und Ausführungsberechtigungen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die Gruppenbesitzrechte in Linux mit dem chgrp-Befehl verwalten. Sie begannen damit, die Gruppe einer einzelnen Datei zu ändern und erweiterten dann Ihre Fähigkeiten, um rekursiv die Gruppen von Verzeichnissen und deren Inhalten zu ändern. Schließlich haben Sie untersucht, wie Sie Gruppeninformationen anzeigen und die Wichtigkeit von Gruppenberechtigungen für die Dateisicherheit in Linux verstehen.

Wichtige Konzepte, die in diesem Lab behandelt wurden:

  1. Verwenden von chgrp zur Änderung der Gruppenbesitzrechte von Dateien
  2. Verwenden der -R-Option für rekursive Änderungen der Gruppenbesitzrechte
  3. Anzeigen von Dateibesitzrechten und -berechtigungen mit ls -l
  4. Untersuchen von Gruppeninformationen mit getent group und groups
  5. Verständnis der Beziehung zwischen Gruppenbesitz und Dateiberechtigungen
  6. Ändern von Gruppenberechtigungen mit chmod

Diese Fähigkeiten sind für die Linux-Systemadministration unerlässlich, insbesondere bei der Verwaltung von geteilten Ressourcen und der Implementierung geeigneter Zugangskontrollen. Die Fähigkeit, Gruppenbesitzrechte korrekt zuzuweisen und zu verwalten, trägt zur Sicherung der Sicherheit bei, während gleichzeitig der angemessene Zugang zu Dateien und Verzeichnissen gewährleistet wird.