Hosten Sie Ihren eigenen KI-Agenten mit OpenClaw - kostenlose 1-Klick-Installation!

Linux-Berechtigungen verstehen: Dateirechte anzeigen und ändern 

Die Administration eines Unix-basierten Betriebssystems erfordert tiefgehendes Fachwissen im Bereich der Systemsicherheit. Das Thema linux berechtigungen entscheidet maßgeblich darüber, wer eine bestimmte Datei im Dateisystem lesen, bearbeiten oder ausführen darf. Wer einen virtuellen Server (VPS) oder eine dedizierte Umgebung verwaltet, ohne die zugrundeliegenden Linux-Dateiberechtigungen im Detail zu verstehen, gefährdet die Integrität des gesamten Systems. Die Folgen sind entweder zu weit geöffnete Linux-Zugriffsrechte, die Einfallstore für unbefugte Nutzer bieten, oder restriktive Konfigurationsfehler, die den produktiven Betrieb von Webservern, Datenbanken oder automatisierten Skripten komplett blockieren. 

Dieser umfassende Leitfaden erklärt detailliert, wie Linux-Rechte strukturiert sind, wie du sie mithilfe von Werkzeugen wie ls und stat präzise auswertest, wie du Modifikationen über den chmod-Befehl vornimmst und wie du die Dateiverantwortlichkeit mit chown sowie chgrp sauber auf andere Systembenutzer überträgst. 

Was sind Linux-Berechtigungen?

Im Kern des Linux-Sicherheitsmodells steht das Prinzip der strikten Zugriffskontrolle. Grundlegende Berechtigungen in Linux legen unmissverständlich fest, welche spezifischen Interaktionen auf Dateien und Verzeichnissen erlaubt sind – und für wen diese Regeln gelten. Jede Entität innerhalb des Dateisystems ist mit einer eindeutigen Kombination von Rechten verknüpft. Wenn man sich detailliert mit linux berechtigungen beschäftigt, sieht man, dass diese klassischen Unix-Berechtigungen und Unix-Dateirechte das Fundament jeder Linux-basierten Sicherheitsarchitektur bilden. Da Linux ein echtes Multi-User-Betriebssystem ist, schützt dieses Modell sensible Systemressourcen vor Fehlbedienung oder böswilligen Zugriffen durch parallel laufende Prozesse oder angemeldete Personen. 

Benutzer, Gruppe und Andere 

Um eine granulare Steuerung zu ermöglichen, unterteilt Linux alle potenziellen Zugriffe auf eine Datei oder ein Verzeichnis in drei logische, voneinander unabhängige Kategorien: 

  1. Nutzer (u / User): Dies bezeichnet den expliziten Eigentümer einer Datei. In der Regel ist dies der Benutzercode, welcher die Datei ursprünglich im System angelegt hat. Der Eigentümer besitzt und verwaltet damit die spezifischen linux berechtigungen der Datei. 
  1. Gruppe (g / Group): Jede Datei ist einer spezifischen Systemgruppe zugeordnet. Alle Benutzer, die dieser Gruppe als Mitglieder hinzugefügt wurden, teilen sich die dort definierten Zugriffsrechte. Dies ist besonders vorteilhaft, wenn Linux-Rechte für den Zugriff mehrere User gemeinsam verwaltet werden sollen, ohne dass man gezwungen ist, die Besitzverhältnisse der Datei permanent zu verändern. 
  1. Andere (o / Others): Diese Kategorie umfasst die Gesamtheit aller übrigen Benutzer auf dem System, die weder der direkte Eigentümer der Datei sind noch der zugeordneten Gruppe angehören. Aus Sicherheitsgründen werden die Rechte für diese Kategorie im Serverbetrieb extrem restriktiv definiert. 

Wenn Systemadministratoren einem dedizierten Linux-Benutzer Rechte geben möchten, ohne den primären Eigentümer einer Datei zu modifizieren, ist der Weg über vordefinierte Gruppenberechtigungen die sauberste Methode. Über den Befehl usermod -aG gruppenname benutzername kannst du im Handumdrehen einem Linux-Benutzer Rechte geben, indem du ihn einer bestehenden administrativen oder funktionalen Gruppe zuweist. So lassen sich Linux-Rechte für den Zugriff mehrere User sicher koordinieren, ohne systemweite Sicherheitsrisiken zu erzeugen. 

Lesen, Schreiben und Ausführen 

Innerhalb jeder der drei Zugriffskategorien (User, Group, Others) existieren drei grundlegende Berechtigungstypen. Diese werden im sogenannten rwx Linux-Modell abgebildet. Die Abkürzung Linux rwx steht für die elementaren Operationen Read (Lesen), Write (Schreiben) und Execute (Ausführen). 

  • Leserechte (r): Auf Dateiebene erlauben sie das Betrachten des eigentlichen Dateiinhalts (z. B. über Werkzeuge wie cat, less oder Editoren). Bei Verzeichnissen steuern sie die Fähigkeit, die darin enthaltenen Dateinamen und Unterordner aufzulisten. 
  • Schreibrechte (w): Diese Berechtigung gestattet die Modifikation oder das Löschen des Inhalts einer Datei. Auf Verzeichnisebene erlaubt sie das Erstellen, Umbenennen oder vollständige Entfernen von Dateien innerhalb dieses Ordners. Möchtest du im System Linux-Schreibrechte vergeben, musst du dieses Bit vorsichtig setzen, um das ungewollte Überschreiben kritischer Konfigurationen zu verhindern. 
  • Ausführungsrechte (x): Bei einer regulären Datei markiert dieses Recht, dass es sich um ein ausführbares Programm, ein Binärdokument oder ein Shell-Skript handelt. Bei einem Verzeichnis besitzt das Ausführungsbit eine völlig andere, essenzielle Bedeutung: Es erlaubt das physische Betreten des Ordners mittels des Befehls cd. Fehlt dieses Bit bei einem Verzeichnis, bleibt der Zugriff verwehrt, selbst wenn für den Nutzer Leserechte auf den Ordner definiert sind. 

Dateirechte vs. Ordnerrechte 

Es ist eine häufige Stolperfalle für Einsteiger, dass sich Linux-Dateirechte und Linux-Ordner-Berechtigungen trotz identischer Symbolik (rwx) in ihrer praktischen Auswirkung stark unterscheiden. Die folgende Tabelle verdeutlicht diese systemisch wichtigen Unterschiede: 

Berechtigung Auswirkung auf eine Datei Auswirkung auf ein Verzeichnis (Ordner) 
r (Read) Inhalt der Datei kann gelesen werden. Inhalt des Ordners kann aufgelistet werden (ls). 
w (Write) Datei kann verändert oder überschrieben werden. Dateien können im Ordner erstellt oder gelöscht werden. 
x (Execute) Datei kann als Programm/Skript gestartet werden. Ordner kann betreten werden (cd /pfad/zu/ordner). 

Ein klassischer Fehler im Systemalltag: Wenn ein Verzeichnis zwar über Leserechte (r), jedoch nicht über Ausführungsrechte (x) verfügt, listet ein Aufruf von ls zwar die reinen Dateinamen innerhalb des Ordners auf, ein Zugriff auf die Dateiinhalte, Metadaten oder Unterverzeichnisse wird jedoch rigoros blockiert. Wenn du zur Überprüfung im System Linux-Ordner-Berechtigungen anzeigen oder Linux-Ordner-Rechte anzeigen möchtest, nutzt du dieselben grundlegenden Werkzeuge wie bei regulären Dateien. Das System kennzeichnet ein Verzeichnis in der Ausgabe schlicht durch ein vorangestelltes d (directory). 

Linux-Dateiberechtigungen anzeigen 

Bevor du administrative Änderungen vornimmst, musst du die aktuellen linux berechtigungen anzeigen lassen und analysieren. Linux stellt standardmäßig mächtige CLI-Werkzeuge zur Verfügung, um Linux-Rechte anzeigen und Linux-Zugriffsrechte anzeigen zu lassen. 

Rechte mit ls -l auslesen 

Der Befehl ls in Kombination mit dem Parameter -l (Long-Format) ist der unangefochtene Standard, um im Terminal Linux-User-Rechte anzeigen zu lassen. Setze den Befehl wie folgt ab: 

Die Ausgabe liefert eine detaillierte Zeile, die wie folgt aufgebaut ist: 

-rw-r--r--  1 user1  group1  1234 May 31 15:00 datei.txt 

Das erste Segment -rw-r–r– repräsentiert den Dateityp sowie die exakten Berechtigungsbits. Das allererste Zeichen bestimmt den Typus der Datei: Ein – deklariert eine reguläre Datei, ein d kennzeichnet ein Verzeichnis und ein l verweist auf einen symbolischen Link (Symlink). Die darauffolgenden neun Zeichen gliedern sich in drei separate Dreiergruppen: Die ersten drei Zeichen gelten für den Eigentümer (rw-), die mittleren drei für die Gruppe (r–) und die finalen drei für alle anderen Benutzer (r–). 

Falls du im System versteckte Dateien einbeziehen und sämtliche Linux-Dateirechte anzeigen oder Linux-Dateiberechtigungen anzeigen möchtest, erweiterst du den Aufruf zu ls -la. 

Details mit stat prüfen 

Falls die kompakte Ausgabe von ls unzureichend ist und du tiefgehendere Verzeichnisberechtigungen analysieren oder Linux-Dateiberechtigungen detailliert anzeigen musst, schlägt die Stunde des Befehls stat. Dieses Tool erlaubt es dir, detailliert sämtliche Berechtigungen auslesen zu können: 

stat datei.txt 

Der Output liefert präzise Systeminterna: 

File: datei.txt 

  Size: 1234       Blocks: 8          IO Block: 4096   regular file 

Device: 801h/2049d Inode: 123456     Links: 1 

Access: (0644/-rw-r--r--)  Uid: ( 1000/   user1)   Gid: ( 1000/  group1) 

Access: 2026-05-31 12:00:00.000000000 +0200 

Modify: 2026-05-31 15:00:00.000000000 +0200 

Change: 2026-05-31 15:00:00.000000000 +0200

Die Zeile Access: (0644/-rw-r–r–) ist für Administratoren extrem wertvoll. Sie kombiniert das symbolische System mit der praktischen oktalen Schreibweise, wodurch sich komplexe Berechtigungen auslesen lassen. 

Berechtigungszeichen richtig interpretieren 

Die korrekte Interpretation der Zeichenketten erfordert Routine. Die Standard-Zeichenfolge -rw-r–r– bedeutet: Der Eigentümer darf lesen und schreiben, die Gruppe und alle anderen Personen dürfen die Datei ausschließlich lesen. Ein weiteres, weit verbreitetes Muster im Serverumfeld ist die Kennzeichnung rw-rw-r–, bei welcher sowohl der Eigentümer als auch die Gruppenmitglieder Schreibrechte besitzen. 

Für Verzeichnisse begegnen dir häufig Linux-Rechte wie drwxr-xr-x. Das bedeutet: Es handelt sich um ein Verzeichnis (d), der Besitzer besitzt uneingeschränkten Vollzugriff (rwx), während Gruppe und Andere den Ordner auflisten und betreten, aber keine Daten darin anlegen oder löschen dürfen (r-x). 

Sollte dir anstelle des Ausführungsbits ein kleines s auffallen (z. B. linux rws), so signalisiert dies das aktive Vorhandensein eines Sonderbits (SetUID/SetGID). Bei der manuellen Zuweisung von Verzeichnis-Standardmasken nutzt man oft den strukturellen Standard chmod drwxr-xr-x, um Ordnerstrukturen konsistent abzusichern. 

Numerische und symbolische Notation 

Um Berechtigungen im Linux-System zu modifizieren, existieren zwei grundlegende Notationsformen: Die oktale (numerische) Methode über Zahlenwerte und die symbolische Methode via Buchstabensteuerungen. 

Oktale Rechte: 644, 755 und 640 

Die oktale Notation basiert auf einer einfachen mathematischen Addition von Binärwerten für jede der drei Zugriffsklassen. Jeder Berechtigungstyp besitzt einen permanent zugewiesenen Zahlenwert: 

Lesen (r) = 4 

Schreiben (w) = 2 

Ausführen (x) = 1

Durch die Addition dieser Werte pro Spalte ergibt sich eine dreistellige Oktalzahl, mit welcher sich über den Befehl chmod präzise Linux-Berechtigungen setzen lassen. Möchtest du im System Linux-Rechte setzen, helfen dir folgende Standardwerte: 

  • chmod 640 (rw-r—–): Der Eigentümer darf lesen und schreiben, die Gruppe darf lesen, die Außenwelt hat keinerlei Zugriff. Dies schützt sensible Konfigurationsdateien oder Passwörter. 
  • chmod 664 (rw-rw-r–): Ermöglicht dem Eigentümer und der Gruppe das gleichberechtigte Editieren von Dokumenten, während Dritte die Datei nur betrachten dürfen. 
  • 644 (-rw-r–r–): Der absolute Standardwert für reguläre Webseiten-Dateien im Verzeichnis eines Webservers. 
  • 755 (rwxr-xr-x): Verleiht dem Eigentümer vollen Zugriff (4+2+1=7) und erlaubt Gruppe sowie Anderen das Lesen und Ausführen. Dies ist der Standard für ausführbare Skripte und öffentliche Ordnerstrukturen. 

Symbolische Rechte mit u, g, o und a 

Die symbolische Notation nutzt Buchstaben, um Modifikationen an bestehenden Rechten vorzunehmen, ohne die restlichen Bitmasken komplett zu überschreiben. Hierbei definiert u den User, g die Gruppe, o Andere und a (all) alle drei Kategorien gleichzeitig. Als Operatoren dienen + (Recht hinzufügen), – (Recht entfernen) und = (Recht exakt definieren). 

Der chmod Befehl setzt diese Anweisungen direkt um: 

chmod u+x skript.sh          # Eigentümer bekommt Ausführungsrecht 

chmod g-w datei.txt          # Gruppe verliert Schreibrecht 

chmod ug+w,o-rx datei.txt   # User+Gruppe: schreiben; Andere: lesen+betreten entfernt

Sonderbits: setuid, setgid und Sticky Bit 

Abseits der Standardberechtigungen kennt der Linux-Kernel drei hochentwickelte Sonderbits: 

  1. SetUID (4000): Bewirkt, dass eine ausführbare Datei mit den Privilegien des Dateieigentümers (oft root) statt mit den Rechten des aufrufenden Benutzers ausgeführt wird. Symbolisch sichtbar als kleines s im User-Block (z. B. linux rws). 
  1. SetGID (2000): Auf Dateien angewendet verhält es sich wie SetUID für die Gruppe. Auf Verzeichnisse angewendet bewirkt es, dass jede neu erstellte Datei darin automatisch die Gruppe des übergeordneten Ordners erbt – essenziell für Teamordner. 
  1. Sticky Bit (1000): Wird primär auf temporäre Verzeichnisse (wie /tmp) angewendet. Es sorgt dafür, dass Benutzer nur ihre eigenen Dateien löschen oder umbenennen dürfen, selbst wenn sie volle Schreibrechte auf das gesamte Verzeichnis besitzen. 

Sonderbits werden bei oktalen Befehlen einfach als vierte, führende Ziffer vorangestellt (z. B. chmod 2755 /ordner für ein aktives SetGID-Bit). 

Linux-Berechtigungen mit chmod ändern 

Die gezielte Anpassung von Rechten gehört zu den täglichen Aufgaben im Serverbetrieb. Um dauerhaft linux berechtigungen ändern oder Linux-Rechte ändern zu können, bildet der chmod-Befehl das universelle Fundament. 

Dateien mit chmod sicher ändern 

Wenn du eine spezifische Linux-Dateirechte ändern, die globale Linux-Datei-Rechte ändern oder eine einzelne Linux-Berechtigung Datei ändern möchtest, reicht ein strukturierter CLI-Aufruf. Stelle vor jeder Modifikation sicher, dass du den aktuellen Zustand validiert hast. Ein fahrlässiges Vergeben von zu offenen Rechten wie 777 öffnet Tür und Tor für Angriffe und sollte auf Produktivsystemen strikt vermieden werden. 

chmod 644 config.php 

Nutze im Zweifelsfall die symbolische Notation, um bestehende Rechteketten nicht unabsichtlich zu zerstören. 

Ordnerrechte mit chmod ändern 

Möchtest du Linux-Ordner-Berechtigungen ändern oder die Linux-Ordner-Rechte anzeigen und im Anschluss gezielt Linux-Ordner-Rechte ändern, musst du stets das Ausführungsbit im Hinterkopf behalten. Nutze den Befehl chmod Ordner, um Verzeichnisse für Webdienste erreichbar zu machen: 

chmod 755 /var/www/html/assets 

Damit stellst du sicher, dass der Webserver den Ordner durchschreiten darf, um Bilder oder Skripte an den Browser auszuliefern. 

Rekursive Änderungen mit -R sicher einsetzen 

Über den Parameter -R wendet Linux den Befehl rekursiv auf alle Unterordner und darin enthaltenen Dateien an. Wenn du beispielsweise ein Linux-Verzeichnis kopieren mit Berechtigungen durchgeführt hast (z. B. via cp -p oder rsync -a), müssen die Rechte im Zielordner oft global korrigiert werden. Ein blindes chmod -R 755 macht jedoch fälschlicherweise auch jede normale Textdatei ausführbar. 

Um sicher die Linux-Zugriffsrechte ändern und eine Linux-Verzeichnis Rechte ändern-Aktion durchführen zu können, ohne Kollateralschäden zu verursachen, empfiehlt sich die Kombination mit dem Werkzeug find: 

find /var/www/projekt -type d -exec chmod 755 {} \; 

find /var/www/projekt -type f -exec chmod 644 {} \;

Der obige Ablauf isoliert Ordner und Dateien voneinander. So lässt sich eine Linux-Ordner-Berechtigung ändern, während reguläre Dokumente sicher auf der restriktiven Maske 644 verbleiben. 

Besitz und Gruppen in Linux verstehen 

Die Berechtigungsbits verpuffen wirkungslos, wenn die Besitzverhältnisse einer Datei fehlerhaft konfiguriert sind. Das Zuordnen des korrekten Eigentümers steuert, welche Berechtigungsebene (User, Group oder Others) beim Zugriff eines Prozesses getriggert wird. Den Linux-Eigentümer ändern zu können, ist daher für die Absicherung elementar. 

Dateibesitzer und Gruppe mit ls -l prüfen 

Mithilfe von ls -l liest du in der dritten und vierten Spalte der Terminal-Ausgabe direkt ab, welcher Benutzer und welche Gruppe einer Datei zugeordnet sind. Stimmen diese Zuordnungen nach einer Datenübertragung oder dem Entpacken eines Archivs nicht mehr, verweigern Dienste den Dienst. 

Eigentümer mit chown ändern 

Der chown Befehl (change owner) ist das primäre Werkzeug, um den Linux-Besitzer ändern zu können. Wenn du im System einen Linux-Datei-Eigentümer ändern oder den Linux-Datei-Besitzer ändern musst, lautet die grundlegende Syntax: 

sudo chown webuser index.html 

Soll zeitgleich der Eigentümer und die zugewiesene Systemgruppe modifiziert werden, trennst du beide Begriffe durch einen Doppelpunkt: 

sudo chown webuser:www-data index.html 

# Rekursiv: 

sudo chown -R webuser:www-data /var/www/projekt

Gruppe mit chgrp ändern 

Falls du den Eigentümer unangetastet lassen und ausschließlich die Gruppenverantwortlichkeit modifizieren möchtest, fungiert der Befehl chgrp als dediziertes Tool für ein chown for group: 

sudo chgrp www-data backup.tar.gz 

Dies stellt sicher, dass du die Dateikontrolle behältst, ein Hintergrunddienst (wie ein Backup-Daemon, der in der Gruppe www-data agiert) die Datei jedoch problemlos lesen oder beschreiben kann. 

Standardrechte und umask 

Beim Erstellen einer neuen Datei oder eines neuen Ordners vergibt das System die Rechte nicht willkürlich. Der Linux-Kernel nutzt vordefinierte Maximalwerte: Reguläre Dateien starten theoretisch mit der Maske 666 (jeder darf lesen und schreiben, niemand ausführen), Verzeichnisse mit 777 (Vollzugriff). 

Von diesem theoretischen Maximalwert wird die sogenannte umask (User Mask) abgezogen, um die realen initialen Rechte festzulegen. Den aktuellen Wert deiner Session erfährst du durch die Eingabe von umask im Terminal. 

Wie umask neue Dateien und Ordner beeinflusst 

Die umask subtrahiert Berechtigungsbits vom theoretischen Maximum. Für Dateien (666) und Verzeichnisse (777) ergibt sich je nach umask-Wert eine unterschiedliche Startmaske. Dieser Mechanismus greift automatisch bei jeder Neuerstellung im System. 

Typische Werte wie 022 und 002 

  • umask 022: Dies ist der gängige Standard auf den meisten Linux-Servern. Er subtrahiert das Schreibrecht für die Gruppe und andere Benutzer. Das Resultat: Neue Dateien erhalten automatisch die Maske 644 (-rw-r–r–), neue Verzeichnisse erhalten 755. 
  • umask 002: Dieser Wert belässt das Schreibrecht für die Gruppe. Neue Dateien werden mit 664 (rw-rw-r–) angelegt. Dies ist ideal in Entwicklungsumgebungen, in denen mehrere Teammitglieder in einem gemeinsamen Projektordner editieren müssen. 
  • umask 027: Eine hochsichere Variante. Sie entzieht der Außenwelt jegliche Rechte. Neue Dateien starten mit 640, Verzeichnisse mit 750. 

Erweiterte Rechte und häufige Stolperfallen 

Im komplexen Enterprise-Umfeld stoßen die traditionellen dreistufigen Unix-Rechte (User, Group, Others) manchmal an ihre Grenzen. Für diese Szenarien bietet Linux erweiterte Kontrollmechanismen. 

POSIX ACLs mit getfacl und setfacl prüfen 

Access Control Lists (ACLs) erlauben es dir, einer Datei Rechte für mehrere dedizierte Benutzer oder mehrere separate Gruppen zuzuweisen, ohne neue Hauptgruppen im System anlegen zu müssen. 

# ACL für bestimmten Benutzer setzen 

setfacl -m u:gastuser:rw datei.txt 

# ACLs anzeigen 

getfacl datei.txt

Gekennzeichnet werden aktive ACLs in der normalen ls -l-Ausgabe durch ein kleines Pluszeichen (+) am Ende der Berechtigungszeichenkette. 

Eine häufige Fehlerquelle betrifft symbolische Links (Symlinks). Ein Symlink besitzt in der ls -l-Ausgabe scheinbar immer die offenen Rechte lrwxrwxrwx. Dies ist jedoch ein Trugschluss: Für den realen Zugriff sind ausschließlich die Berechtigungen der Zieldatei, auf die der Link verweist, maßgeblich. 

Zudem können Dateisysteme beim Einhängen (Mounten) über die Datei /etc/fstab mit globalen Restriktionen belegt werden. Wird eine Partition mit dem Parameter noexec gemountet, blockiert der Kernel jegliche Ausführung von Programmen auf diesem Datenträger – völlig unabhängig davon, ob du via chmod +x Ausführungsrechte vergeben hast. 

Root, sudo und Least Privilege 

Der Systemadministrator root (UID 0) steht über dem Berechtigungsmodell. Er kann jede Datei lesen und beschreiben, selbst wenn die Bits auf 000 gesetzt sind. Um Sicherheitsrisiken zu minimieren, gilt das Prinzip des Least Privilege (minimale Rechtevergabe). Führe Dienste niemals direkt als root aus, sondern weise ihnen eigene, unprivilegierte Systemuser zu (z. B. mysql oder www-data). Benötigst du administrative Rechte auf der CLI, greife punktuell auf den Befehl sudo zurück. 

Praxisbeispiele für VPS-Administratoren 

Um die Theorie in die Praxis zu übertragen, betrachten wir typische Szenarien, die jedem Administrator bei der Einrichtung eines Webservers begegnen. 

Sichere Rechte für Webdateien und Logs 

Ein kompromittierter Webserver darf niemals in der Lage sein, Systemkonfigurationen zu verändern. Daher müssen Webinhalte extrem restriktiv konfiguriert werden. Ein bewährtes, sicheres Setup für ein Webverzeichnis (z. B. unter /var/www/html) sieht wie folgt aus: 

  • Verzeichnisse: chmod 755 (Eigentümer darf verwalten, Webserver und Außenwelt dürfen lesen/betreten). 
  • Reguläre Dateien: chmod 644 (Eigentümer darf editieren, Webserver darf die Skripte lesen und ausführen). 
  • Sensible Konfigurationsdateien (z. B. mit DB-Passwörtern): chmod 600 oder chmod 640, damit unprivilegierte Systemnutzer die Zugangsdaten nicht ausspähen können. 
  • Logdateien: chmod 640, damit das System sauber protokolliert und unbefugte Benutzer Logs nicht einsehen können. 

Rechte für mehrere Benutzer und Gruppen planen 

Arbeiten mehrere Entwickler auf einem VPS, orchestrierst du den Zugriff am besten über eine dedizierte Shared-Group. Hier ist ein bewährter Deployment-Ablauf: 

# 1. Erstelle eine neue Gruppe für das Web-Team 

sudo groupadd webteam 

# 2. Füge die gewünschten Benutzer der Gruppe hinzu 

sudo usermod -aG webteam entwickler1 

# 3. Übereigne das Verzeichnis dem Deployment-User und der neuen Gruppe 

sudo chown -R deployer:webteam /var/www/my-project 

# 4. Setze rekursiv die Rechte inklusive des SetGID-Bits (die führende 2) 

find /var/www/my-project -type d -exec chmod 2775 {} \; 

find /var/www/my-project -type f -exec chmod 664 {} \;

Durch das SetGID-Bit (2775) auf den Ordnern wird sichergestellt, dass jede neue Datei, die von entwickler1 hochgeladen wird, automatisch der Gruppe webteam gehört. In Kombination mit einer umask 002 bleibt das Verzeichnis für alle Teammitglieder permanent beschreibbar. 

Fehler beheben: Permission denied verstehen 

Die Fehlermeldung Permission denied zählt zu den häufigsten Problemen auf einem Linux-System. Bei der systematischen Fehlersuche solltest du folgende vier Punkte strukturiert überprüfen: 

  1. Pfaddurchquerung: Besitzt der ausführende Benutzer auf jedem übergeordneten Verzeichnis im Pfad das Ausführungsbit (x)? Wenn /var/www für den User gesperrt ist, kann er nicht auf /var/www/html/index.html zugreifen, selbst wenn die Datei selbst auf 644 steht. 
  1. Identität prüfen: Welcher User führt den fehlschlagenden Prozess real aus? Prüfe dies mit ps aux und vergleiche die Identität mit der ls -l-Ausgabe der Zieldatei. 
  1. Prozessumgebung: Nutzt der Dienst eventuell eine restriktive Systemd-Sandbox (ProtectSystem=strict), die Schreibzugriffe blockiert, obwohl das Dateisystem korrekt konfiguriert ist? 
  1. Sicherheitsmodule: Blockieren eventuell aktive Kernel-Sicherheitsmodule wie SELinux oder AppArmor den Zugriff? Prüfe dies über Befehle wie sestatus oder die Systemprotokolle unter /var/log/audit/audit.log. 

FAQ: Linux-Berechtigungen 

Wie kann ich Linux-Berechtigungen anzeigen? 

Die Standardmethode, um im Terminal Linux-Zugriffsrechte anzeigen zu lassen, ist der Befehl ls -l dateiname. Falls du tiefergehende Metadaten und die exakte oktale Schreibweise benötigst, um umfassend Berechtigungen auslesen zu können, lautet die beste Wahl stat dateiname. Möchtest du im aktuellen Verzeichnis alle Linux-Dateiberechtigungen anzeigen lassen (inklusive der versteckten Systemdateien), nutzt du den Befehl ls -la. 

Wie ändere ich Linux-Rechte mit chmod? 

Du nutzt den Linux-chmod-Befehl entweder in der numerischen Form durch Angabe einer dreistelligen Oktalzahl (Beispiel: chmod 640 datei.txt) oder in der flexiblen symbolischen Schreibweise (Beispiel: chmod u+x skript.sh). Jede Linux-Berechtigung einer Datei ändern oder anzupassen gelingt über diese Syntax sowohl für einzelne Dokumente als auch für Verzeichnisse fehlerfrei. 

Was bedeutet chmod 644 oder chmod 755? 

Der Befehl chmod 644 definiert Lese- und Schreibrechte für den Eigentümer sowie reine Leserechte für die Gruppe und alle anderen Systembenutzer (symbolisch -rw-r–r–). Es ist die Standardmaske für Webinhalte. chmod 755 hingegen stattet den Eigentümer mit Vollzugriff aus und erlaubt der Gruppe sowie Dritten das Lesen und das Betreten bzw. Ausführen der Datei (rwxr-xr-x) – typisch für Ordner und Skripte. 

Wie ändere ich den Besitzer einer Datei in Linux? 

Den Eigentümer modifizierst du über den chown Befehl. Mit der Syntax sudo chown neuer_user datei.txt kannst du den Linux-Datei-Besitzer ändern. Möchtest du in einem einzigen administrativen Arbeitsschritt sowohl den Eigentümer als auch die zugewiesene Systemgruppe anpassen, lautet der Befehl sudo chown neuer_user:neue_gruppe datei.txt. 

Wie gebe ich einem Linux-Benutzer Rechte? 

Hierfür existieren zwei administrative Hauptwege: Der Standardweg führt über die Zuweisung zu einer Systemgruppe mittels sudo usermod -aG gruppenname benutzername, wodurch der User die definierten Gruppenberechtigungen erbt. Der flexiblere, modernere Weg für feingranulare Szenarien erfolgt über Access Control Lists (ACLs) mit dem Befehl setfacl -m u:benutzername:rw datei.txt, ohne dass dafür Besitzverhältnisse geändert werden müssen. 

Was ist der Unterschied zwischen chmod, chown und chgrp? 

Die drei Befehle greifen an völlig unterschiedlichen Stellen der Linux-Zugriffskontrolle an: Der chmod Befehl modifiziert die reinen Berechtigungsbits (was auf einer Datei getan werden darf). Der chown Befehl ändert den primären Eigentümer und optional die Gruppe (wem die Datei gehört). chgrp ist ein spezialisiertes Werkzeug und agiert ausschließlich als chown for group, um die Gruppenkonfiguration einer Datei zu verändern, ohne den Eigentümer zu beeinflussen. 

Nach oben scrollen