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
testuseruser 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.