Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 02.06.2026 · 10 min Lesezeit

Linux-Benutzer, Gruppen und Rechte verstehen (chmod, chown, sudo)

Linux-Benutzer, Gruppen und Rechte sauber verstehen: ls -l lesen, chmod, chown, Gruppen und sudo, jeden Schritt direkt verifizieren und sich nicht mit falschen Rechten aussperren.

Geprüft am 29.09.2026

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Messingschlüssel an einem Schlüsselring und ein kleines Vorhängeschloss neben einem zugeklappten Laptop auf einem Holztisch

Linux-Benutzer, Gruppen und Rechte sind Grundlage fast jeder weiteren Linux-Anleitung. Ob SSH-Schlüssel, Webserver, Cronjob, systemd-Service oder Docker-Verzeichnis: Das Rechtemodell entscheidet, wer etwas lesen, schreiben oder ausführen darf.

Jede Datei und jedes Verzeichnis gehört einem Benutzer, einer Gruppe und hat Rechte für alle anderen. chmod ändert Rechte, chown Besitzer und Gruppen, sudo führt Befehle mit erhöhten Rechten aus. Nach jedem wichtigen Schritt prüfen wir das Ergebnis.

Voraussetzungen

  • Linux-System mit Terminal, z. B. Debian 12, Ubuntu 24.04 oder Rocky Linux 9. Für die Übungen reicht ein kleiner Server oder eine VM mit 1 CPU-Kern, 1 GB RAM und wenigen MB freiem Speicher, x86 oder ARM.
  • Ein Benutzerkonto mit sudo-Rechten oder direkter Root-Zugang
  • Ein Testverzeichnis, in dem Sie gefahrlos üben können
  • Keine Arbeit direkt in produktiven Systempfaden, solange Sie die Wirkung eines Befehls noch nicht sicher einschätzen können

Wichtig vorab: Üben Sie neue Rechte- oder Benutzerbefehle zuerst in einem Testverzeichnis, damit Sie sich nicht versehentlich SSH-Zugriff, Webserver-Dateien oder sudo-Rechte beschädigen.

Schritt 1: Eine kleine Testumgebung anlegen

Legen Sie eine Spielwiese an, um Rechte, Besitzer und Gruppen ohne Risiko auszuprobieren.

mkdir -p ~/rechte-labor
cd ~/rechte-labor
printf 'Hallo Linux
' > datei.txt
printf '#!/bin/bash
echo Test
' > script.sh
mkdir projektordner
ls -l

Sie sehen jetzt eine normale Datei, ein kleines Skript und ein Verzeichnis; an diesen drei Typen lassen sich die meisten Unterschiede zeigen.

Verifizieren: Der Schritt ist erfolgreich, wenn ls -l eine Datei datei.txt, eine Datei script.sh und ein Verzeichnis projektordner anzeigt. Wenn Sie die Objekte nicht sehen, sind Sie entweder nicht im richtigen Verzeichnis oder der Befehl wurde nicht vollständig ausgeführt.

Schritt 2: ls -l lesen und das Rechtemodell verstehen

Der wichtigste Befehl zum Lesen der Dateiinformationen ist ls -l.

ls -l datei.txt script.sh
ls -ld projektordner

Typische Ausgabe:

-rw-r--r-- 1 marcel marcel   12 Jun 12 10:30 datei.txt
-rw-r--r-- 1 marcel marcel   22 Jun 12 10:30 script.sh
drwxr-xr-x 2 marcel marcel 4096 Jun 12 10:30 projektordner

Die ersten zehn Zeichen sind der wichtigste Teil:

TeilBedeutung
- oder dDateityp: - für Datei, d für Verzeichnis, l für Symlink
rw-Rechte des Besitzers
r--Rechte der Gruppe
r--Rechte für alle anderen

Die einzelnen Buchstaben bedeuten:

  • r = lesen
  • w = schreiben
  • x = ausführen
  • - = dieses Recht ist nicht gesetzt

Bei Verzeichnissen ist x besonders wichtig: Es bedeutet nicht „Programm ausführen“, sondern vereinfacht gesagt „dieses Verzeichnis betreten und darin auflösen dürfen“.

stat datei.txt

Verifizieren: Sie haben den Schritt verstanden, wenn Sie an einer Ausgabe wie -rw-r--r-- sagen können: Besitzer darf lesen und schreiben, Gruppe nur lesen, alle anderen nur lesen. Bei einem Verzeichnis wie drwxr-xr-x erkennen Sie zusätzlich, dass das erste Zeichen d für Verzeichnis steht.

Schritt 3: chmod mit 644, 755, 600 und 700 sauber einsetzen

Mit chmod setzen Sie Rechte, meist in Oktal-Notation. Dahinter steckt immer dieselbe Rechnung:

  • r = 4
  • w = 2
  • x = 1

Die drei Ziffern stehen immer für Besitzer, Gruppe, andere. Ein paar typische Werte:

OktalSymbolischTypischer Einsatz
644rw-r--r--Normale Dateien wie Text- oder Konfigurationsdateien
755rwxr-xr-xViele Verzeichnisse und ausführbare Skripte
600rw-------Private Dateien, zum Beispiel SSH-Private-Keys
700rwx------Private Verzeichnisse, zum Beispiel ~/.ssh
chmod 644 datei.txt
chmod 755 script.sh
chmod 700 projektordner
ls -l datei.txt script.sh
ls -ld projektordner

Wichtiger Praxispunkt: Ein pauschales chmod -R 644 verzeichnis ist falsch: Dateien vertragen 644 oft, Verzeichnisse brauchen aber meist das Execute-Bit, damit man sie betreten kann. Behandeln Sie Dateien und Verzeichnisse rekursiv getrennt.

find projektordner -type d -exec chmod 755 {} \;
find projektordner -type f -exec chmod 644 {} \;

Verifizieren: Nach chmod 755 script.sh sollte ls -l bei der Datei mit -rwxr-xr-x beginnen. Nach chmod 700 projektordner sollte die Verzeichniszeile mit drwx------ beginnen. Wenn ein Verzeichnis stattdessen auf drw-r--r-- steht, fehlt das entscheidende Execute-Bit.

Schritt 4: chmod mit symbolischer Notation gezielt ändern

Die symbolische Notation eignet sich, wenn Sie nur ein bestimmtes Recht ergänzen oder entfernen möchten.

KürzelBedeutung
uUser, also der Besitzer
gGroup, also die Gruppe
oOther, also alle anderen
aAlle drei zusammen
+Recht hinzufügen
-Recht entfernen
=Genau dieses Recht setzen
chmod u+x script.sh
chmod g-w datei.txt
chmod o-r datei.txt
ls -l datei.txt script.sh

Für kleine Änderungen ist das oft lesbarer als Zahlen.

Verifizieren: Wenn Sie chmod u+x script.sh ausführen, muss beim Besitzer ein x auftauchen. Wenn Sie chmod o-r datei.txt ausführen, darf im letzten Dreierblock kein r mehr stehen.

Schritt 5: Besitzer und Gruppen mit chown und chgrp ändern

Oft gehört eine Datei schlicht dem falschen Benutzer oder der falschen Gruppe; dafür nutzen Sie chown und chgrp. Die Beispiele verwenden den Benutzer newuser aus Schritt 6. Existiert er noch nicht, ziehen Sie Schritt 6 vor oder setzen einen vorhandenen Benutzer ein.

# Nur Besitzer ändern
sudo chown newuser datei.txt

# Besitzer und Gruppe zusammen ändern
sudo chown newuser:newuser script.sh

# Nur Gruppe ändern
sudo chgrp newuser projektordner

# Ergebnis prüfen
ls -l datei.txt script.sh
ls -ld projektordner

Der Doppelpunkt in user:gruppe ist wichtig. Links steht der Besitzer, rechts die Gruppe.

Verifizieren: Der Schritt ist erfolgreich, wenn in der Ausgabe von ls -l an der Stelle für Besitzer und Gruppe wirklich die neuen Namen stehen. Wenn weiterhin Ihr alter Benutzer erscheint, wurde der Befehl nicht mit ausreichenden Rechten ausgeführt oder der angegebene Benutzer existiert nicht (chown meldet dann „ungültiger Benutzer“ bzw. „invalid user“).

Schritt 6: Benutzer und Gruppen anlegen und erweitern

Ein Benutzer kann in mehreren Gruppen sein; diese entscheiden oft, ob er etwa Docker, sudo oder ein gemeinsames Verzeichnis nutzen darf.

Auf Debian und Ubuntu ist adduser für Einsteiger angenehmer; auf vielen Distributionen gibt es zusätzlich useradd.

# Debian/Ubuntu: interaktiv und einsteigerfreundlich
sudo adduser newuser

# Gruppen anlegen
sudo groupadd projektteam

# Benutzer zu einer zusätzlichen Gruppe hinzufügen
sudo usermod -aG projektteam newuser

Wichtig: Bei usermod ist das -a entscheidend. Ohne dieses Flag überschreiben Sie bestehende Zusatzgruppen, statt sie zu ergänzen.

Für sudo-Rechte gilt im Alltag meist:

  • Debian/Ubuntu: Gruppe sudo
  • RHEL/Fedora/Rocky: Gruppe wheel
# Debian/Ubuntu
sudo usermod -aG sudo newuser

# RHEL/Fedora/Rocky
sudo usermod -aG wheel newuser

Verifizieren: getent group projektteam listet newuser als Mitglied. Die Gruppen stehen in der Benutzerdatenbank sofort, wirken aber erst in einer neuen Sitzung: Nach dem nächsten Login von newuser zeigt id in dessen Sitzung die neue Gruppe.

Schritt 7: Benutzer, UID, GID und Gruppenmitgliedschaften prüfen

Kontrollieren Sie vor weiteren Schritten, wie Linux den Benutzer tatsächlich sieht.

id
id newuser
groups newuser
getent passwd newuser
getent group projektteam

Wichtige Begriffe:

  • UID = numerische Benutzer-ID
  • GID = numerische Gruppen-ID
  • primäre Gruppe = die Hauptgruppe des Benutzers
  • sekundäre Gruppen = zusätzliche Gruppenmitgliedschaften

getent berücksichtigt neben lokalen Dateien wie /etc/passwd auch andere NSS-Quellen, etwa LDAP oder Active Directory.

Verifizieren: Der Schritt ist erfolgreich, wenn id newuser und groups newuser die Gruppen anzeigen, die Sie in Schritt 6 gesetzt haben. Wenn eine Gruppe fehlt, war meist der Gruppenname falsch oder beim usermod fehlte das -a.

Schritt 8: sudo sicher nutzen und nur bei Bedarf sudoers anfassen

sudo bedeutet nicht „dauerhaft root“, sondern „dieser einzelne Befehl läuft mit erhöhten Rechten“; im Alltag der richtige Weg.

sudo apt update
sudo -l

Für die meisten Systeme reicht es, Benutzer über die passende Admin-Gruppe zu berechtigen:

  • sudo auf Debian/Ubuntu
  • wheel auf RHEL/Fedora/Rocky

Für Sonderregeln, etwa einen bestimmten Befehl ohne Passwort, nutzen Sie visudo. Eigene Regeln gehören als eigene Datei nach /etc/sudoers.d/, nicht in die Hauptdatei.

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

Beispiel für eine gezielte Regel:

%sudo ALL=(ALL:ALL) ALL
%deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

Wichtig: Bearbeiten Sie /etc/sudoers niemals direkt mit nano oder vim, ohne die Syntax zusätzlich prüfen zu lassen (sudo visudo -c). Ein Fehler an dieser Stelle kann sudo unbrauchbar machen. Halten Sie beim Ändern eine zweite Root-Sitzung offen.

Verifizieren: sudo visudo -c meldet für alle Dateien „parsed OK“, und mit sudo -l sehen Sie, welche sudo-Rechte der aktuell angemeldete Benutzer wirklich hat. Wenn ein Benutzer Mitglied der Gruppe sudo oder wheel ist, aber sudo -l trotzdem nicht funktioniert, ist meist die neue Gruppenmitgliedschaft in der aktuellen Sitzung noch nicht aktiv.

Schritt 9: Spezialbits einordnen, ohne sie unnötig zu verwenden

Neben den normalen Rechten gibt es drei Spezialbits, die Sie kennen, aber nicht leichtfertig einsetzen sollten.

BitBeispielBedeutung
setuid4755Ein Programm läuft mit den Rechten des Besitzers
setgid2755Neue Dateien in einem Verzeichnis erben die Gruppe des Verzeichnisses
Sticky Bit1777In gemeinsam beschreibbaren Verzeichnissen darf nicht jeder fremde Dateien löschen
ls -ld /tmp
ls -l /usr/bin/sudo

Typische Beispiele: /tmp mit Sticky Bit, /usr/bin/sudo mit setuid. Setzen Sie setuid nur ein, wenn Sie genau wissen, warum.

Verifizieren: Bei /tmp sollten Sie am Ende typischerweise ein t sehen, also etwa drwxrwxrwt. Bei Programmen mit setuid erscheint ein s anstelle des normalen x im Benutzer-Block, bei /usr/bin/sudo also -rwsr-xr-x.

Troubleshooting

  • Problem: Ich habe Rechte gesetzt, aber komme trotzdem nicht in ein Verzeichnis. Meist fehlt das Execute-Bit; prüfen mit ls -ld verzeichnis.
  • Problem: Nach usermod -G sind alte Gruppen verschwunden. Dann wurde -a vergessen. Verwenden Sie für Ergänzungen immer usermod -aG gruppe benutzer.
  • Problem: sudo funktioniert nicht, obwohl der Benutzer in der richtigen Gruppe ist. Die Sitzung ist noch alt. Neu anmelden, dann id oder sudo -l prüfen.
  • Problem: Ein Webserver oder Dienst kann Dateien nicht lesen. Reihenfolge: Besitzer, Gruppe, Dateirechte, Rechte der übergeordneten Ordner. namei -l /pfad/zur/datei zeigt alle Ebenen auf einen Blick.
  • Problem: Eine Datei ist mit 644 gesetzt, ein Skript startet aber nicht. Skripte brauchen ein Execute-Bit, häufig 755 oder gezielt u+x.
  • Problem: Ich habe rekursiv Rechte gesetzt und jetzt geht etwas kaputt. Vermutlich wurden Dateien und Verzeichnisse nicht getrennt behandelt; prüfen Sie das Execute-Bit der Verzeichnisse.

Häufige Fragen

Wann nehme ich 644 und wann 755?

644 für normale Dateien, die gelesen, aber nicht ausgeführt werden; 755 für ausführbare Skripte und viele Verzeichnisse, die das Execute-Bit zum Betreten brauchen.

Warum ist 777 fast nie eine gute Idee?

Weil damit jeder lesen, schreiben und ausführen darf; das ist fast immer zu offen. 777 überdeckt meist nur falsch gesetzte Besitzer, Gruppen oder Verzeichnisstrukturen.

Was ist der Unterschied zwischen primärer und sekundärer Gruppe?

Die primäre Gruppe ist die Hauptgruppe; neue Dateien erhalten standardmäßig diese Gruppe. Sekundäre Gruppen sind zusätzliche Mitgliedschaften mit weiteren Berechtigungen. id benutzername zeigt beides.

Warum soll ich sudoers nur mit visudo bearbeiten?

visudo prüft die Syntax und sperrt die Datei; ein Fehler in /etc/sudoers kann sudo unbrauchbar machen.

Warum funktioniert eine neue Gruppenmitgliedschaft nicht sofort?

Eine Sitzung legt ihre Gruppen beim Anmelden fest. Nach neuer Anmeldung gelten die neuen Gruppen; für einen schnellen Test öffnet newgrp gruppenname eine Untershell mit der neuen Gruppe.

Fazit

Für den Alltag reichen oft ein sauber gelesener ls -l-Block, die Standardwerte 644, 755, 600 und 700 sowie die Regel: erst prüfen, dann ändern, danach verifizieren.

Als nächster Baustein eignet sich die SSH-Key-Authentifizierung, weil dort Rechte auf ~/.ssh und authorized_keys wichtig werden. Danach passen systemd-Services, Cron oder das Absichern eines Linux-Servers.

Weiterführende Anleitungen und Quellen

Quellen: chmod(1) – man7.org, chown(1) – man7.org, id(1) – man7.org, sudoers(5) – man7.org, adduser(8) – Ubuntu Manpages.