Skip to Content
DokumentationBetriebSystemadministrationBenutzer und Berechtigungen

Benutzer und Berechtigungen

Ubuntu ist ein Mehrbenutzer-Betriebssystem und eine ordnungsgemäße Benutzerverwaltung und Berechtigungskonfiguration sind die Grundpfeiler der Systemsicherheit. In diesem Artikel wird erläutert, wie Sie Benutzer erstellen und verwalten, Gruppen konfigurieren und das Dateiberechtigungssystem in Ubuntu 26.04 verstehen.

Benutzerverwaltung

Benutzer erstellen

Verwenden Sie useradd, um einen neuen Benutzer zu erstellen:

# Create a user with a home directory sudo useradd -m -s /bin/bash username # Set the password sudo passwd username

Der Befehl adduser wird bevorzugt, da es sich um ein interaktives Wrapper-Skript handelt, das Sie durch die Einrichtung führt:

sudo adduser username

Benutzerattribute ändern

Verwenden Sie usermod, um die Attribute eines vorhandenen Benutzers zu ändern:

# Change the default shell sudo usermod -s /bin/zsh username # Change home directory (and move files) sudo usermod -d /home/newdir -m username # Lock a user account sudo usermod -L username # Unlock a user account sudo usermod -U username # Rename a user sudo usermod -l newname oldname

Benutzer löschen

# Delete a user but keep the home directory sudo userdel username # Delete a user and their home directory sudo userdel -r username

Benutzerinformationen anzeigen

# Check the current user whoami # View user ID and group information id username # List all users cat /etc/passwd # View currently logged-in users who w

Gruppenleitung

Gruppen erstellen und verwalten

# Create a new group sudo groupadd developers # Add a user to a group (preserving existing groups) sudo usermod -aG developers username # Add a user to multiple groups sudo usermod -aG docker,sudo,developers username # View the groups a user belongs to groups username # View all members of a group getent group developers # Delete a group sudo groupdel developers

Primärgruppe vs. Ergänzungsgruppen

Jeder Benutzer hat eine primäre Gruppe und null oder mehr zusätzliche Gruppen:

# Change a user's primary group sudo usermod -g newgroup username # Modify supplementary groups (-a means append; without -a, all supplementary groups are replaced) sudo usermod -aG extragroup username

sudo-Konfiguration

Note

Ubuntu 26.04 liefert sudo-rs, eine Rust-Neufassung, als Standardersatz für das traditionelle C sudo. Es ist mit der überwiegenden Mehrheit der gängigen sudoers-Syntax kompatibel (Benutzer-/Gruppenregeln, NOPASSWD, ALL, /etc/sudoers.d/ usw.), sodass die tägliche Verwendung unverändert bleibt. Einige obskure Anweisungen und Plugins von Drittanbietern sind jedoch noch nicht implementiert. Wenn bei einem Sudo-abhängigen Skript ein Fehler auftritt oder sich unerwartet verhält, führen Sie zunächst sudo --version aus, um die aktuelle Implementierung zu bestätigen, und installieren Sie bei Bedarf vorübergehend die herkömmliche Version mit sudo apt install sudo zur Fehlerbehebung. Wechseln Sie dann wieder zu Sudo-RS, sobald das Problem behoben ist.

Grundlegende Verwendung

# Execute a command with root privileges sudo apt update # Switch to the root user sudo -i # Execute a command as another user sudo -u www-data command

Hinzufügen eines Benutzers zur Sudo-Gruppe

# In Ubuntu, members of the sudo group have administrator privileges sudo usermod -aG sudo username

Bearbeiten der sudoers-Datei

Verwenden Sie immer visudo, um die sudoers-Konfiguration zu bearbeiten, da vor dem Speichern eine Syntaxprüfung durchgeführt wird:

sudo visudo

Gängige Konfigurationsbeispiele:

# Allow a user to execute all commands without a password username ALL=(ALL) NOPASSWD: ALL # Allow a user to execute only specific commands username ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx # Allow group members to execute apt without a password %developers ALL=(ALL) NOPASSWD: /usr/bin/apt

Sie können auch eigenständige Konfigurationsdateien in /etc/sudoers.d/ erstellen:

sudo visudo -f /etc/sudoers.d/developers

Grundlagen der Dateiberechtigung

Berechtigungsnotation verstehen

Linux-Dateiberechtigungen bestehen aus drei Gruppen: Besitzer, Gruppe und andere. Jeder Satz umfasst Leseberechtigungen (r=4), Schreibberechtigungen (w=2) und Ausführungsberechtigungen (x=1).

# View file permissions ls -la # Example output: # -rwxr-xr-- 1 user group 4096 Jan 1 12:00 script.sh # │├─┤├─┤├─┤ # │ │ │ └── Others: r-- (read only) # │ │ └── Group: r-x (read and execute) # │ └── Owner: rwx (read, write, execute) # └── File type: - regular file, d directory, l symlink

chmod – Berechtigungen ändern

# Numeric mode chmod 755 script.sh # rwxr-xr-x chmod 644 config.txt # rw-r--r-- chmod 600 secret.key # rw------- # Symbolic mode chmod u+x script.sh # Add execute permission for the owner chmod g+w file.txt # Add write permission for the group chmod o-r file.txt # Remove read permission for others chmod a+r file.txt # Add read permission for everyone # Recursively change directory permissions chmod -R 755 /var/www/html

chown – Eigentümerwechsel

# Change the file owner sudo chown newuser file.txt # Change both owner and group sudo chown newuser:newgroup file.txt # Change only the group sudo chgrp newgroup file.txt # Recursively change directory ownership sudo chown -R www-data:www-data /var/www

Sonderberechtigungen

# SUID - Execute as the file owner chmod u+s executable chmod 4755 executable # SGID - Execute as the file group / new files in directory inherit the group chmod g+s directory chmod 2755 directory # Sticky Bit - Only the file owner can delete files (commonly used on /tmp) chmod +t directory chmod 1777 directory

umask – Standard-Berechtigungsmaske

# View current umask umask # Set umask (new file default = 0666 - umask, new directory = 0777 - umask) umask 022 # New files 644, new directories 755 umask 077 # New files 600, new directories 700

Um die umask dauerhaft zu ändern, bearbeiten Sie ~/.bashrc oder /etc/login.defs.

Erweiterte ACL-Berechtigungen

Wenn Standardberechtigungen nicht flexibel genug sind, können Sie ACLs (Zugriffskontrolllisten) verwenden:

# Install ACL tools sudo apt install acl # Grant permissions to a specific user setfacl -m u:username:rwx /path/to/file # Grant permissions to a specific group setfacl -m g:groupname:rx /path/to/dir # View ACL settings getfacl /path/to/file # Recursively set ACL setfacl -R -m u:username:rwx /path/to/dir # Set default ACL (newly created files inherit automatically) setfacl -d -m u:username:rwx /path/to/dir # Remove ACL setfacl -x u:username /path/to/file

Best Practices

  1. Prinzip der geringsten Berechtigung: Gewähren Sie Benutzern nur die Mindestberechtigungen, die sie für ihre Arbeit benötigen.
  2. Vermeiden Sie die direkte Verwendung von Root: Verwenden Sie sudo, um Verwaltungsbefehle auszuführen, anstatt als Root angemeldet zu bleiben.
  3. Gruppen mit Bedacht nutzen: Die Verwaltung von Berechtigungen über Gruppen ist effizienter als die Konfiguration jedes Benutzers einzeln.
  4. Regelmäßig prüfen: Überprüfen Sie /etc/passwd und /etc/group regelmäßig, um Benutzer und Gruppen zu bereinigen, die nicht mehr benötigt werden.
  5. Sensible Dateien schützen: Stellen Sie sicher, dass Dateien wie die Schlüssel /etc/shadow und SSH über die richtigen Berechtigungen verfügen (600 oder strenger).