Die Verwaltung von Benutzern, Gruppen und Berechtigungen ist eine der grundlegenden Aufgaben für Ubuntu-Server-Administratoren. Ob Sie eine Mehrbenutzerumgebung einrichten oder Ihren Server absichern – es ist unerlässlich zu verstehen, wie man Benutzerkonten, Gruppen und Berechtigungen erstellt, ändert und verwaltet. Dieser Leitfaden bietet einen ausführlichen Einblick in die Benutzer- und Berechtigungsverwaltung, komplett mit Praxisbeispielen, Befehlsausgaben und bewährten Methoden.
Vorheriger Artikel:
01. Einführung in Ubuntu Server – SysOSX: AI & Cloud
02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Anfänger – SysOSX: AI & Cloud
03. Die Linux-Befehlszeile für Ubuntu Server beherrschen
Einführung
Ubuntu Server ist eine leistungsstarke Plattform zum Hosten von Anwendungen, Verwalten von Diensten und Ermöglichen von Mehrbenutzerumgebungen. Wenn Sie die Benutzer- und Berechtigungsverwaltung beherrschen, können Sie Ihren Server absichern, den Zugriff effektiv kontrollieren und unbefugte Aktionen verhindern. Dieser Leitfaden behandelt alles von der grundlegenden Erstellung von Benutzerkonten bis hin zu erweiterten Berechtigungseinstellungen, komplett mit detaillierten Beispielen.
Benutzerkonten erstellen und verwalten
Einen Benutzer erstellen
Um ein Benutzerkonto auf Ubuntu Server zu erstellen, verwenden Sie den Befehl adduser. Dieser Befehl ist interaktiv und fragt Sie nach zusätzlichen Informationen über den Benutzer.
Beispielbefehl:
sudo adduser john
Beispielausgabe:
Adding user `john' ...
Adding new group `john' (1001) ...
Adding new user `john' (1001) with group `john' ...
Creating home directory `/home/john' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for john
Enter the new value, or press ENTER for the default
Full Name []: John Doe
Room Number []: 101
Work Phone []: 555-1234
Home Phone []: 555-5678
Other []:
Is the information correct? [Y/n] Y
Dies erstellt einen Benutzer namens john mit einem Home-Verzeichnis unter /home/john und weist ihm eine eindeutige Benutzer-ID (UID) zu.
Einen Benutzer ändern
Der usermod-Befehl ermöglicht es Ihnen, Benutzerkonten zu ändern. Sie können beispielsweise das Home-Verzeichnis, die Shell oder die Gruppenmitgliedschaften eines Benutzers ändern.
Home-Verzeichnis ändern:
sudo usermod -d /home/new_john john
sudo mv /home/john /home/new_john
Benutzerkonto sperren oder entsperren:
- Konto sperren:
sudo passwd -l john - Konto entsperren:
sudo passwd -u john
Beispielausgabe (Konto sperren):
passwd: password expiry information changed.
Einen Benutzer löschen
Um einen Benutzer zu löschen, verwenden Sie den Befehl deluser. Sie können auch sein Home-Verzeichnis und die zugehörigen Dateien entfernen.
Beispielbefehl:
sudo deluser --remove-home john
Beispielausgabe:
Looking for files to backup/remove ...
Removing files ...
Removing user `john' ...
Warning: group `john' has no more members.
Done.
Gruppen verwalten
Gruppen sind eine Möglichkeit, Benutzer zu organisieren und gemeinsame Berechtigungen zuzuweisen. Jeder Benutzer kann mehreren Gruppen angehören.
Gruppen erstellen und verwalten
Um eine neue Gruppe zu erstellen, verwenden Sie den Befehl addgroup.
Beispielbefehl:
sudo addgroup developers
Beispielausgabe:
Adding group `developers' (GID 1002) ...
Done.
Um eine Gruppe zu löschen:
sudo delgroup developers
Benutzer zu Gruppen hinzufügen
Um einen Benutzer zu einer Gruppe hinzuzufügen, verwenden Sie den Befehl usermod mit der Option -aG.
Beispielbefehl:
sudo usermod -aG developers john
Gruppenmitgliedschaft überprüfen:
groups john
Beispielausgabe:
john : john developers
Dies zeigt, dass john zu den Gruppen john und developers.
Datei- und Verzeichnisberechtigungen verstehen
Linux-Dateiberechtigungen sind entscheidend für die Kontrolle des Zugriffs auf Dateien und Verzeichnisse. Berechtigungen werden für drei Kategorien definiert: Eigentümer, Gruppe, und Andere.
Berechtigungstypen
Jede Kategorie hat drei Berechtigungstypen:
- Lesen (r): Ermöglicht das Anzeigen von Dateiinhalten oder das Auflisten von Verzeichnisinhalten.
- Schreiben (w): Ermöglicht das Ändern von Dateiinhalten oder das Erstellen/Löschen von Dateien in einem Verzeichnis.
- Ausführen (x): Ermöglicht das Ausführen ausführbarer Dateien oder den Zugriff auf Verzeichnisse.
Beispiel:
Verwenden Sie ls -l um Dateiberechtigungen anzuzeigen:
ls -l /home/john
Beispielausgabe:
-rw-r--r-- 1 john john 4096 Mar 21 14:00 file.txt
rw-: Der Eigentümer (john) hat Lese- und Schreibberechtigungen.r--: Die Gruppe (john) hat nur Leseberechtigungen.r--: Andere haben nur Leseberechtigungen.
Berechtigungen ändern
Verwenden Sie den Befehl chmod, um Berechtigungen zu ändern.
Beispielbefehle:
- Ausführungsberechtigung für den Eigentümer gewähren:
chmod u+x file.txt - Schreibberechtigung für andere entfernen: chmod o-w file.txt
Numerische Werte verwenden:
Berechtigungen können auch mit numerischen Werten festgelegt werden:
chmod 755 file.txt: Volle Berechtigungen für den Eigentümer, Lesen/Ausführen für Gruppe und andere.
Numerische Berechtigungen verstehen (755, 777, 744)
Linux-Berechtigungen können numerisch dargestellt werden, wobei jede Ziffer einer bestimmten Berechtigungsstufe entspricht:
Struktur numerischer Berechtigungen:
Jede numerische Berechtigung besteht aus drei Ziffern:
- Erste Ziffer: Berechtigungen für den Eigentümer.
- Zweite Ziffer: Berechtigungen für die Gruppe.
- Dritte Ziffer: Berechtigungen für andere.
Jede Ziffer wird auf der Grundlage der folgenden Werte berechnet:
4: Lesen (r)2: Schreiben (w)1: Ausführen (x)
Die Summe dieser Werte bestimmt die Berechtigungsstufe für jede Kategorie.
Gängige numerische Berechtigungen:
- 777: Volle Berechtigungen für alle (lesen, schreiben, ausführen).
- Eigentümer:
rwx - Gruppe:
rwx - Andere:
rwx - Anwendungsfall: Wird aus Sicherheitsgründen selten verwendet, kann aber auf temporäre Verzeichnisse wie
/tmp.
- Eigentümer:
- 755: Volle Berechtigungen für den Eigentümer, Lese- und Ausführungsberechtigungen für Gruppe und andere.
- Eigentümer:
rwx - Gruppe:
r-x - Andere:
r-x - Anwendungsfall: Gängig für ausführbare Dateien oder Verzeichnisse.
- Eigentümer:
- 744: Volle Berechtigungen für den Eigentümer, nur Lesen für Gruppe und andere.
- Eigentümer:
rwx - Gruppe:
r-- - Andere:
r-- - Anwendungsfall: Gängig für private Dateien.
- Eigentümer:
Beispiel:
Um die Berechtigungen für ein Skript auf 755 zu setzen:
chmod 755 script.sh
Beispielausgabe:
-rwxr-xr-x 1 john john 4096 Mar 21 14:00 script.sh
Verwaltung des Besitzes
Ändern Sie den Besitz mit dem Befehl chown.
Beispielbefehl:
sudo chown john:developers file.txt
Dies setzt den Eigentümer auf john und die Gruppe auf developers.
Beispielausgabe:
-rw-r--r-- 1 john developers 4096 Mar 21 14:00 file.txt
Sudo zur Rechteerweiterung verwenden
Der sudo ermöglicht es Benutzern, Befehle mit erhöhten Rechten auszuführen. Um einem Benutzer sudo-Zugriff zu gewähren, fügen Sie ihn zur Gruppe sudo hinzu.
Beispielbefehl:
sudo usermod -aG sudo john
Sudo-Zugriff überprüfen:
sudo -l -U john
Beispielausgabe:
User john may run the following commands on this host:
(ALL : ALL) ALL
Bewährte Methoden zur Absicherung von Benutzerkonten
- Strenge Passwortrichtlinien durchsetzen:
Verwenden Siepasswdum den Ablauf des Passworts festzulegen:sudo passwd -e john - Sudo-Zugriff einschränken:
Gewähren Siesudo-Privilegien nur vertrauenswürdigen Benutzern. - Root-Anmeldung deaktivieren:
Bearbeiten Sie die SSH-Konfigurationsdatei:
sudo nano /etc/ssh/sshd_config
Festlegen:
PermitRootLogin no
- SSH-Schlüssel zur Authentifizierung verwenden:
Ersetzen Sie die passwortbasierte Anmeldung durch SSH-Schlüssel. - Benutzeraktivität überwachen:
Verwenden Sielastoderwhoum Anmeldeaktivitäten zu verfolgen:
last
Erläuterung der Ausgabe
uadmin pts/1 192.168.255.48 Fri Mar 21 13:55 still logged in
uadmin pts/0 192.168.255.48 Fri Mar 21 13:54 still logged in
uadmin pts/1 192.168.255.48 Fri Mar 21 01:49 - 08:19 (06:29)
uadmin pts/0 192.168.255.48 Fri Mar 21 00:53 - 08:19 (07:26)
reboot system boot 6.8.0-1021-azure Fri Mar 21 00:22 still running
Zeilenweise Analyse
Benutzeranmeldung: uadmin pts/1 192.168.255.48 Fri Mar 21 13:55 still logged in
uadmin: Der Benutzername des Benutzers, der sich angemeldet hat.pts/1: Die Pseudo-Terminal-Sitzung, die für die Anmeldung verwendet wurde. Pseudo-Terminals (pts) sind virtuelle Terminals, die in der Regel erstellt werden, wenn sich Benutzer über SSH anmelden.192.168.255.48: Die IP-Adresse des Remote-Rechners, von dem aus sich der Benutzer verbunden hat.Fri Mar 21 13:55: Das Datum und die Uhrzeit, zu der sich der Benutzer angemeldet hat.still logged in: Zeigt an, dass der Benutzer derzeit angemeldet und aktiv ist.
| Spalte | Bedeutung |
|---|---|
| Benutzername | Name des Benutzers oder Ereignisses (uadmin, reboot). |
| Terminal | Pseudo-Terminal-Sitzung (pts/X) oder Systemereignis (system boot). |
| Remote-Host/IP | IP-Adresse oder Hostname des Remote-Rechners, der die Verbindung initiiert hat. |
| Anmeldedatum/-uhrzeit | Datum und Uhrzeit, zu der die Anmeldung oder das Ereignis begonnen hat. |
| Abmeldezeit | Datum und Uhrzeit, zu der die Sitzung beendet wurde (falls zutreffend). |
| Dauer | Gesamtdauer der Sitzung (falls zutreffend). |
| Sitzungsstatus | Aktueller Status der Sitzung (still logged in, still running). |
Zusätzliche Befehle für Einblicke
- Aktuell angemeldete Benutzer anzeigen:
who - Beispielausgabe:
uadmin pts/1 2023-03-21 13:55 (192.168.255.48)
uadmin pts/0 2023-03-21 13:54 (192.168.255.48)
- Systemlaufzeit prüfen:
uptime - Beispielausgabe:
14:15:32 up 13:53, 2 users, load average: 0.10, 0.12, 0.15
Fazit
Die Verwaltung von Benutzern, Gruppen und Berechtigungen ist eine grundlegende Fähigkeit für Ubuntu-Server-Administratoren. Wenn Sie diese Aufgaben beherrschen, können Sie Ihren Server absichern, unbefugten Zugriff verhindern und die betriebliche Effizienz verbessern.
Nächstes Tutorial: Netzwerkgrundlagen für Ubuntu Server
Im nächsten Tutorial behandeln wir die Netzwerkgrundlagen für Ubuntu Server, einschließlich der Konfiguration von Netzwerkschnittstellen, der Einrichtung statischer IPs, der Fehlerbehebung bei Netzwerkverbindungen und der Verwendung von Ubuntus netplan für Netzwerkaufgaben. Bleiben Sie dran für umsetzbare Erkenntnisse zur Optimierung der Netzwerkkonfiguration Ihres Servers.
7 thoughts on “04. Managing Users and Permissions on Ubuntu Server: A Comprehensive Guide”