Dieser Artikel behandelt die Grundlagen der Verwaltung von Benutzergruppen auf einem Linux®-Server.
Voraussetzungen
Sie müssen die folgenden Voraussetzungen erfüllen:
- Grundlegendes Verständnis von Secure Shell (SSH®)
- Sudo- oder Administratorzugriff auf Ihren Server
- Ein Cloud-Server, auf dem unterstützte Versionen von Linux ausgeführt werden
- Grundlegende Kenntnisse über Datei- und Verzeichnisberechtigungen auf einem Linux-Server
Benutzergruppen
Benutzergruppen in Linux gewähren einer Gruppe von Benutzern bestimmten Zugriff oder Berechtigungen auf Verzeichnisse oder Dateien im Linux-Betriebssystem. Dieser Zugriff ist abhängig von der Gruppe Berechtigungen für die Datei oder das Verzeichnis.
Hinweis :Weitere Informationen zu Verzeichnis- und Dateiberechtigungen finden Sie unter Linux-Berechtigungen ändern.
Das folgende Beispiel zeigt, wie sich Gruppenberechtigungen auf den Zugriff eines Benutzers auswirken.
drwxr-xr-x. 5 root root 4096 Jun 9 11:09 .
drwxr-xr-x. 3 root root 4096 Jun 9 11:03 ..
drwxr-xr-x. 2 root apache 4096 Jun 9 11:04 files
-rw-rw-r--. 1 root apache 0 Jun 9 11:09 somefile
drwxr-xr-x. 2 root apache 4096 Jun 9 11:04 test
drwxr-xr-x. 2 testuser apache 4096 Jun 9 11:04 websitefiles
Die Berechtigungen für dieses Verzeichnis zeigen:
- Der
testuser
user ist der Besitzer des Verzeichnisses websitefiles . Der Besitzer hatrwx
, was übersetzt „Lesen, Schreiben und Ausführen im Verzeichnis“ bedeutet. - Der Benutzer,
apache
, hatr-x
, was bedeutet, dass sie die Verzeichnisse lesen und ausführen können. - Der Benutzer,
apache
, hatrw-rw-r--
auf der Datei somefile , was bedeutet, dass sie die Datei lesen und schreiben können.
Verzeichnis- versus Dateiberechtigungen
Beim Hinzufügen eines Benutzers zu einer Gruppe sind einige Unterschiede zwischen Verzeichnis- und Dateiberechtigungen zu berücksichtigen. Für eine Datei bedeuten Lesen, Schreiben und Ausführen genau das. Der Benutzer kann diese Aufgaben für eine Datei ausführen . Allerdings in einem Verzeichnis , haben die Berechtigungen folgende Bedeutung:
- Lesen :Ermöglicht einem Benutzer, den Inhalt eines Verzeichnisses aufzulisten.
- Schreiben :Ermöglicht einem Benutzer, neue Dateien oder Verzeichnisse innerhalb des Verzeichnisses zu erstellen.
- Ausführen :Ermöglicht einem Benutzer, in das Verzeichnis zu wechseln.
Zusätzliche Gruppen
Wenn Sie einen Benutzer benötigen, um die einer Gruppe zugeordneten Berechtigungen freizugeben, sollten Sie den Benutzer der zugeordneten Gruppe hinzufügen.
Betrachten Sie den testuser
Benutzerberechtigungen:
# id testuser
uid=1002(testuser) gid=1002(testuser) groups=1002(testuser)
Diese Ausgabe zeigt, dass der Benutzer nur seine Standardgruppen hat und keinen zusätzlichen Gruppen zugewiesen wurde.
Um testuser
zu geben Zugriff auf die Dateien Verzeichnis muss der Benutzer Teil des apache
sein Benutzergruppe.
Hinweis :Einige Benutzer erstellen auch eine separate Gruppe für ihre Webentwickler, die den apache
enthält Benutzer, damit die Funktionalität von Apache® auf dem Verzeichnis nicht deaktiviert wird.
Beispiel:Benutzer zu einer Gruppe hinzufügen
Dieses Beispiel fügt testuser
hinzu zum apache
Gruppe.
Überprüfen Sie die Gruppe
Überprüfen Sie zuerst den apache
Gruppe, bevor Sie Änderungen vornehmen:
# getent group apache
apache❌48:
Sie können sehen, dass keine anderen Benutzer Teil des apache
sind Gruppe.
testuser
hinzufügen zu gruppieren
Um testuser
hinzuzufügen zur Gruppe führen Sie den folgenden Befehl vom Terminal aus:
usermod -aG apache testuser
Die Flags -aG
übersetzt zu anhängen und gruppieren. Die Verwendung von -a
stellt sicher, dass Sie den Benutzer zu einer Gruppe hinzufügen, anstatt seine Standardgruppe zu ersetzen.
Verifizieren
Wenn Sie sich nun die Gruppen für apache
ansehen , sehen Sie testuser
in der Gruppe.
# getent group apache
apache❌48:testuser
Wenn Sie testuser
anzeigen , können Sie sehen, dass der Benutzer jetzt den apache
hat Gruppe.
# id testuser
uid=1002(testuser) gid=1002(testuser) groups=1002(testuser),48(apache)
Der Testbenutzer hat jetzt Zugriff auf die Berechtigungen auf Gruppenebene für Verzeichnisse und Dateien mit einer Gruppeneigentümerschaft von apache
.
Syntax zum Hinzufügen von Benutzern zu Gruppen
Verwenden Sie denselben Vorgang, um Benutzer mit dem folgenden Befehl zu anderen Gruppen hinzuzufügen:
usermod -aG <group> <user>
Sie können den Benutzer auch mehreren Gruppen gleichzeitig hinzufügen:
usermod -aG <group1>,<group2>,etc <user>
Solange die Gruppe, zu der Sie den Benutzer hinzufügen, über die entsprechenden Berechtigungen für das Verzeichnis verfügt, auf das sie zugreifen muss, gibt dieser Vorgang dem Benutzer den Zugriff, den er zum Verwalten der Dateien und Verzeichnisse benötigt.