Dateirechte unter Linux einfach erklärt: chmod, -rw-r–r– und sichere Berechtigungen für Dateien & Verzeichnisse

目次

1. Einleitung

Was sind „Berechtigungen“ unter Linux?

In Linux- und Unix-basierten Systemen ist die richtige Verwaltung von Datei- und Verzeichnisberechtigungen (Permissions) von entscheidender Bedeutung. Sie sind sowohl für die Systemsicherheit als auch für einen stabilen Betrieb unerlässlich.

Viele Nutzer fragen sich beim Anzeigen einer Dateiliste im Terminal, was die ungewohnten Zeichen wie -rw-r--r-- eigentlich bedeuten.

Der Zusammenhang zwischen chmod und -rw-r–r–

Solche Zeichen stehen für die Dateiberechtigungen im Symbolformat. Um diese Berechtigungen zu setzen oder zu ändern, wird der Befehl chmod verwendet. Das bedeutet: Nach der Vergabe bestimmter Rechte mit chmod erscheint beispielsweise das Symbol -rw-r--r--.

Zielgruppe und Ziel dieses Artikels

In diesem Artikel wird verständlich erklärt, was -rw-r--r-- konkret bedeutet und wie Sie mit chmod Berechtigungen festlegen und ändern. Dabei gehen wir besonders auf praxisnahe Beispiele und wichtige Sicherheitshinweise ein – sowohl für Einsteiger als auch für fortgeschrittene Nutzer mit ersten Terminal-Erfahrungen.

Ziel ist es, praxisrelevantes Wissen für Einsteiger und fortgeschrittene Nutzer zu vermitteln, das Sie im Arbeitsalltag direkt anwenden können.

侍エンジニア塾

2. Was ist chmod?【Grundlagen】

Die Funktion des chmod-Befehls

chmod (ausgesprochen „tschmod“ oder „change mode“) steht für „change mode“ und ist der Standardbefehl zum Ändern von Datei- und Verzeichnisrechten (Permissions) unter Linux/Unix-Systemen.
Mit diesem Befehl steuern Sie flexibel, wer welche Aktionen (Lesen, Schreiben, Ausführen) auf eine Datei oder ein Verzeichnis ausführen darf.

Die richtige Vergabe von Berechtigungen ist nicht nur wichtig für die Systemsicherheit, sondern verhindert auch typische Probleme beim Dateizugriff und der Zusammenarbeit.

Grundlegende Syntax von chmod

chmod [Optionen] [Rechte] Dateiname

Zum Beispiel:

chmod 644 sample.txt

Dadurch werden die Berechtigungen für sample.txt wie folgt gesetzt:

-rw-r--r--  1 user group 1234 Apr 13 20:00 sample.txt
  • Besitzer (user): Lesen und Schreiben (rw-)
  • Gruppe (group): nur Lesen (r–)
  • Andere (others): nur Lesen (r–)

Zwei Methoden: numerisch und symbolisch

Bei chmod gibt es zwei Möglichkeiten, Berechtigungen zu definieren:

  • Numerische Angabe (Zahlenmodus)
  • Beispiel: chmod 755 script.sh
  • Rechte werden für jeden Benutzer-Typ als Zahl angegeben.
  • Symbolische Angabe (Symbolmodus)
  • Beispiel: chmod u=rw,g=r,o=r file.txt
  • u (user), g (group), o (others) werden mit r (lesen), w (schreiben), x (ausführen) kombiniert.

Beide Methoden führen zum gleichen Ergebnis. Die numerische ist schneller für Massenoperationen, die symbolische bietet mehr Flexibilität. Wählen Sie je nach Situation.

Unterschied zwischen chmod und chown

Oft werden chmod und chown verwechselt:

  • chmod: Ändert Berechtigungen (Permissions)
  • chown: Ändert den Besitzer (Owner) und/oder die Gruppe einer Datei/eines Verzeichnisses

Verwechseln Sie die unterschiedlichen Aufgaben nicht.

3. Bedeutung von -rw-r–r– im Detail

Aufbau der Symbolanzeige für Berechtigungen

Mit dem Befehl ls -l sehen Sie z. B.:

-rw-r--r--  1 user group  1234 Apr 13  2025 sample.txt

Links außen steht -rw-r--r--, das die Dateiberechtigungen beschreibt. Damit erkennen Sie genau, wer welche Rechte hat.

Detaillierte Erklärung der einzelnen Bestandteile

① Erstes Zeichen: Dateityp

SymbolBedeutung
-Normale Datei
dVerzeichnis
lSymbolischer Link
bBlock-Gerät
cZeichen-Gerät

Bei -rw-r--r-- zeigt das erste -, dass es sich um eine normale Datei handelt.

② Zeichen 2 bis 10: Zugriffsrechte (je 3 für Besitzer, Gruppe, andere)

  • Besitzer (user)rw-
    → Lesen (r) und Schreiben (w) erlaubt, Ausführen (x) nicht.
  • Gruppe (group)r--
    → Nur Lesen erlaubt.
  • Andere (others)r--
    → Nur Lesen erlaubt.

Nur der Besitzer darf ändern, alle anderen dürfen nur lesen.

Numerische Darstellung: Bedeutung von 644

Linux kann dieselben Rechte auch als Zahl (Oktalnotation) darstellen.

-rw-r--r-- entspricht der Zahl 644.

BenutzertypSymbolZahlBedeutung
Besitzerrw-6Lesen+Schreiben
Grupper--4Nur Lesen
Anderer--4Nur Lesen

Die Zahlen ergeben sich wie folgt:

  • Lesen (r) = 4
  • Schreiben (w) = 2
  • Ausführen (x) = 1

rw- = 4 + 2 = 6, r-- = 4, r-- = 4 ⇒ 644

Warum wird diese Berechtigung oft verwendet?

-rw-r--r-- (644) wird häufig für öffentliche Dateien oder statische Webserver-Dateien (HTML, CSS usw.) verwendet, weil:

  • Nur der Besitzer darf ändern → Schutz vor ungewollten Änderungen
  • Andere dürfen lesen → Dateifreigabe und Veröffentlichung möglich

So lässt sich Sicherheit und Nutzbarkeit optimal verbinden.

4. So setzen Sie -rw-r–r– mit chmod (Praxisbeispiel)

Zugriffsrechte mit chmod ändern

Mit dem chmod-Befehl können Sie Datei- und Verzeichnisberechtigungen flexibel anpassen. Wenn Sie beispielsweise die Rechte auf -rw-r--r-- setzen möchten, verwenden Sie einfach die numerische Angabe „644“.

So geht’s per Zahl (numerische Methode)

Verwenden Sie das Format chmod 644 Dateiname:

chmod 644 document.txt

Damit werden die Rechte für document.txt wie folgt gesetzt:

-rw-r--r--  1 user group 1234 Apr 13 20:00 document.txt
  • Besitzer (user): Lesen und Schreiben (rw-)
  • Gruppe (group): nur Lesen (r–)
  • Andere (others): nur Lesen (r–)

Symbolische Methode (Symbolic Mode)

Für noch mehr Flexibilität nutzen Sie die symbolische Angabe:

chmod u=rw,g=r,o=r document.txt

Das bedeutet:

  • u=rw: Besitzer erhält Lese- und Schreibrechte
  • g=r: Gruppe erhält Leserecht
  • o=r: Andere erhalten Leserecht

Das Ergebnis ist identisch mit der numerischen Einstellung 644.

Achtung bei Verzeichnissen!

Bei Verzeichnissen ist das Ausführungsrecht (x) notwendig, um den Inhalt zu sehen. Wenn Sie einem Verzeichnis chmod 644 zuweisen, kann niemand mehr darin navigieren oder Inhalte sehen.

Korrektes Beispiel:

chmod 755 my_folder
  • Besitzer: lesen, schreiben, ausführen
  • Gruppe & Andere: lesen, ausführen

Damit können andere Nutzer den Verzeichnisinhalt anzeigen.

Rekursives Ändern: -R-Option

Wenn Sie viele Dateien und Unterordner gleichzeitig ändern wollen, nutzen Sie die Option -R (rekursiv):

chmod -R 644 my_folder

Damit werden alle Dateien in my_folder auf 644 gesetzt. Achtung: Das kann bei Verzeichnissen zu Problemen führen, da diesen dann das Ausführungsrecht fehlt!

5. Zugriffsrechte mit ls -l prüfen

So prüfen Sie Berechtigungen einer Datei

Mit dem Linux-Befehl ls -l sehen Sie detaillierte Informationen zu Berechtigungen, Besitzern, Größe und Änderungsdatum von Dateien und Verzeichnissen.

Grundlegende Nutzung

ls -l

Beispielausgabe:

-rw-r--r--  1 naoya devs  2048 Apr 13 20:00 index.html

Bedeutung der Spalten:

SpalteBedeutung
-rw-r--r--Berechtigungen (Permissions)
1Anzahl der Hardlinks (meist 1)
naoyaBesitzer (user)
devsGruppe (group)
2048Dateigröße in Bytes
Apr 13 20:00Letzte Änderung
index.htmlDateiname

So lesen Sie die Berechtigungsspalte

Im Fokus steht -rw-r--r--:

  • Erstes Zeichen: Dateityp (-: Datei, d: Verzeichnis, l: Link)
  • Weitere 9 Zeichen: Rechte für Besitzer (rw-), Gruppe (r--), andere (r--)

Heißt: Nur der Besitzer kann ändern, alle anderen dürfen nur lesen.

Nur bestimmte Dateien prüfen

Um gezielt eine Datei zu prüfen:

ls -l index.html

Hilfreich in Verzeichnissen mit vielen Dateien.

Verzeichnisse prüfen

Auch Verzeichnisse lassen sich mit ls -l prüfen.
Mit -d nur das Verzeichnis selbst anzeigen:

ls -ld my_folder

So sehen Sie die Rechte des Verzeichnisses ohne dessen Inhalt.

Berechtigungen sicher verwalten

Nach dem Setzen von Berechtigungen mit chmod sollten Sie immer mit ls -l kontrollieren, ob alles korrekt ist – das vermeidet Sicherheitsrisiken und Fehler.

Um etwa nur .sh-Dateien anzuzeigen:

ls -l | grep '.sh'

6. Berechtigungen per GUI-Tools ändern (für Einsteiger)

Alternativen für Nutzer, die keine Kommandos mögen

Viele Linux-Einsteiger finden die Kommandozeile schwierig. Für sie gibt es grafische Tools (GUIs), um Rechte zu prüfen und zu ändern.

Nautilus-Dateimanager (Ubuntu)

Die meisten Linux-Distributionen wie Ubuntu bieten mit „Nautilus“ einen grafischen Dateimanager (ähnlich dem Explorer in Windows).

So prüfen Sie die Rechte:

  1. Datei oder Ordner rechtsklicken
  2. „Eigenschaften“ wählen
  3. Reiter „Berechtigungen“ öffnen (oder „Zugriffsrechte“ je nach Version)

Möglichkeiten im GUI:

  • Besitzer und Gruppe ansehen/ändern (ggf. Rootrechte nötig)
  • Lesen/Schreiben/Ausführen per Klick steuern
  • Änderungen werden sofort übernommen

GUI-Anzeigen sind oft als „Nur Lesen“, „Lesen & Schreiben“ usw. beschriftet und dadurch besonders einsteigerfreundlich.

WinSCP (SFTP-Client für Windows)

Windows-Nutzer können mit dem SFTP-Client WinSCP Rechte auf Linux-Servern per GUI setzen:

Schritte:

  1. Mit WinSCP auf dem Server einloggen
  2. Datei rechtsklicken > „Eigenschaften“
  3. Berechtigungen (z.B. Zahl 644 oder Checkboxen) anpassen
  4. Mit „OK“ übernehmen

Vorteile:

  • Numerisch und symbolisch sichtbar
  • Rekursive Änderungen an Verzeichnissen per GUI möglich

Hinweis:

  • Für Systemdateien braucht man Root- oder Sudo-Rechte
WinSCP - Free SFTP and FTP client

WinSCP is a popular free file manager for Windows supporting…

FileZilla (Plattformübergreifender SFTP-Client)

Auch mit FileZilla (für Mac und Linux) lassen sich Berechtigungen grafisch verwalten:

So geht’s:

  1. Auf dem Server verbinden und Datei rechtsklicken
  2. „Dateiberechtigungen“ wählen
  3. Mit Checkboxen oder Zahl einstellen und „OK“ klicken

Vorteile & Hinweise zu GUIs

Vorteile:

  • Fehler werden minimiert, da visuell kontrollierbar
  • Sofort sichtbare Änderung
  • Auch für Kommandozeilen-Anfänger geeignet

Hinweise:

  • Manche Systemdateien lassen sich nur mit Root-Rechten anpassen
  • Stets mit ls -l nachprüfen, ob Änderungen übernommen wurden

FileZilla - The free FTP solution for both client and server…

7. Wichtige Hinweise und Troubleshooting für chmod

Warum funktionieren Berechtigungen manchmal trotzdem nicht?

Nach der Änderung von Berechtigungen mit chmod kann es vorkommen, dass die Datei oder das Skript nicht wie erwartet funktioniert. Häufig liegt das an Missverständnissen bei der Rechtevergabe oder an typischen Fehlern. Hier einige typische Praxisprobleme und deren Lösung:

Fehler: Permission denied – Ursache & Lösung

Fehlermeldung:

bash: ./script.sh: Permission denied

Ursache:

  • Dem Skript fehlt das Ausführungsrecht (x).

Lösung:

chmod +x script.sh

Alternativ als Zahl:

chmod 755 script.sh

Beachten Sie: Lesen und Schreiben allein reicht nicht zum Ausführen!

Verzeichnisse brauchen immer das Ausführungsrecht

Wenn Sie einem Verzeichnis chmod 644 geben, kann dessen Inhalt nicht mehr angezeigt werden.

Grund:

  • Das Ausführungsrecht (x) ist bei Verzeichnissen notwendig, um sie zu betreten oder anzuzeigen.

Lösung:

chmod 755 my_folder

Achtung bei rekursiven Änderungen (-R)

chmod -R ist praktisch, setzt aber alle Dateien und Verzeichnisse auf den gleichen Wert, was zu Problemen führen kann.

Häufiger Fehler:

chmod -R 644 /var/www/html

→ Verzeichnisse haben dann kein Ausführungsrecht mehr, Inhalte sind nicht mehr zugänglich.

Korrektes Vorgehen:

# Verzeichnisse auf 755
find /var/www/html -type d -exec chmod 755 {} ;

# Dateien auf 644
find /var/www/html -type f -exec chmod 644 {} ;

Missverständnisse bei Besitzer und Gruppe

Vergessen Sie nicht, dass auch der Besitzer und die Gruppenzugehörigkeit relevant sind!
Wenn z.B. der Webserver als Nutzer apache läuft, aber der Datei-Besitzer jemand anderes ist, hilft auch eine korrekte Berechtigung nichts, wenn der Besitzer falsch ist.

Lösungen:

  • Besitzer ändern: sudo chown www-data:www-data index.html
  • Gruppenrechte richtig setzen: chmod 640 index.html (wenn die Gruppe stimmt)

Warnung: 777 ist gefährlich!

„Einfach 777 setzen, dann funktioniert alles“ – das ist hochgradig unsicher!

Risiken:

  • Jeder darf alles mit der Datei machen (lesen, schreiben, ausführen)
  • Missbrauch und Manipulation durch Dritte wird möglich

Empfohlene Grundregeln:

  • Dateien: 644 oder 600
  • Verzeichnisse: 755 oder 700
  • Skripte/Binaries: 755 (nur falls nötig)

8. Anwendungsbeispiele & typische Szenarien

Wie wird chmod in der Praxis eingesetzt?

Die vorgestellten Befehle und Rechte werden im Serverbetrieb und in der Entwicklung ständig eingesetzt. Hier einige typische Beispiele:

1. HTML-Dateien auf Webservern

Szenario:
Sie hosten eine Webseite mit Apache oder Nginx. HTML-Dateien sollten üblicherweise -rw-r--r-- (644) haben:

chmod 644 index.html

Warum 644?

  • Nur der Besitzer (Admin) kann bearbeiten
  • Webserver (z.B. www-data) und andere können lesen
  • Unbefugtes Schreiben wird verhindert

So bleiben Ihre Webinhalte sicher und zugänglich.

2. Skripten Ausführungsrechte geben

Szenario:
Ein selbst geschriebenes Skript (backup.sh) meldet beim Ausführen „Permission denied“:

chmod 755 backup.sh

Bedeutung:

  • Besitzer: Lesen, Schreiben, Ausführen (rwx)
  • Gruppe & Andere: Lesen & Ausführen (rx)

Damit können andere das Skript ausführen, aber nicht ändern.

3. Sensible Dateien schützen

Szenario:
Eine Datei mit API-Keys (secrets.txt) soll nur für Sie sichtbar sein:

chmod 600 secrets.txt

Das bedeutet:

  • Nur der Besitzer kann lesen und schreiben
  • Niemand sonst hat Zugriff

Best Practice für private Daten!

4. Gemeinsame Verzeichnisse für Teams

Szenario:
Mehrere Entwickler brauchen Zugriff auf ein gemeinsames Verzeichnis (shared_folder):

chmod 770 shared_folder

Bedeutung:

  • Besitzer & Gruppe: Alles erlaubt (rwx)
  • Andere: Kein Zugriff

Mit chgrp können Sie die Gruppe anpassen und den Zugriff flexibel steuern.

5. Fehler durch falsche Einstellungen vermeiden

Szenario:
Sie haben versehentlich chmod -R 777 . im Projektordner ausgeführt und alles offen gemacht.

Empfohlene Maßnahmen:

  • Immer vorher mit ls -l prüfen
  • Berechtigungen gezielt setzen (siehe „find“-Beispiele weiter oben)
  • Nach Möglichkeit zuerst im Testumfeld probieren

9. Häufige Fragen (FAQ)

Q1. Was ist der Unterschied zwischen chmod 644 und -rw-r--r--?

A: Nur die Darstellung ist unterschiedlich – die Bedeutung ist exakt gleich.

  • chmod 644: Befehl zur Rechtevergabe
  • -rw-r--r--: Symbolische Darstellung nach ls -l

Q2. Was passiert ohne Ausführungsrecht bei Skripten?

A: Das Skript oder Binary kann nicht direkt gestartet werden. Beispiel:

bash: ./script.sh: Permission denied

Lösung:

chmod +x script.sh

Q3. Ist 644 für Verzeichnisse korrekt?

A: Nein, Verzeichnisse brauchen das Ausführungsrecht (x), sonst kann niemand den Inhalt sehen.

Korrekte Einstellung:

chmod 755 Verzeichnisname

Q4. Worauf muss ich bei chmod -R achten?

A: Es wird alles – auch Verzeichnisse – gleich gesetzt, was meist zu Fehlern führt.
Empfohlene sichere Methode:

find my_project/ -type d -exec chmod 755 {} ;
find my_project/ -type f -exec chmod 644 {} ;

Q5. „Permission denied“ – woran liegt’s?

A: Prüfen Sie:

  • Fehlt das Ausführungsrecht?
  • Versucht jemand, als Nicht-Besitzer zu schreiben?
  • Hat das Verzeichnis das Ausführungsrecht?
  • Fehlen sudo-Rechte?

Mit ls -l und whoami können Sie schnell prüfen, wo das Problem liegt.

Q6. Wie kann ich Dateien teilen, ohne Schreibrechte zu vergeben?

A: Setzen Sie die Datei auf 644 (Besitzer kann schreiben, andere nur lesen) oder 444 (alle nur lesen).

chmod 644 share.txt
  • 644: Andere dürfen lesen, aber nicht schreiben
  • 444: Alle dürfen nur lesen

Wählen Sie je nach Bedarf.

Q7. Wie stelle ich versehentlich geänderte Rechte wieder her?

A: Vergleichen Sie mit ähnlichen (korrekten) Dateien per ls -l und passen Sie die Rechte mit chmod wieder an. Am besten dokumentieren Sie die Standardberechtigungen vorab!

ls -l /pfad/zu/korrekter_datei

10. Fazit

Warum Grundwissen zu chmod & Berechtigungen so wichtig ist

In diesem Artikel haben wir die Bedeutung von chmod und symbolischer Rechteanzeige wie -rw-r--r-- unter Linux und Unix ausführlich erklärt.
Das richtige Setzen von Zugriffsrechten ist entscheidend für Sicherheit, Effizienz und erfolgreiche Zusammenarbeit im Systembetrieb.

Das Wichtigste in Kürze

  • chmod ändert Zugriffsrechte von Dateien und Verzeichnissen
  • -rw-r--r-- bedeutet: Besitzer darf lesen & schreiben, andere nur lesen
  • Zahlenform (z.B. 644) und Symbolform sind äquivalent
  • Es gibt zwei Methoden: Zahl und Symbol
  • Rechte sollten nach chmod mit ls -l geprüft werden
  • Auch GUIs wie Nautilus, WinSCP, FileZilla sind hilfreich
  • Falsche Rechte führen zu Fehlern wie „Permission denied“
  • Standardwerte für Sicherheit: 644/600 (Dateien), 755/700 (Verzeichnisse), 755 (Skripte)

Die „beste“ Einstellung hängt vom Anwendungsfall ab

Es gibt keine universell richtige Rechtevergabe. Je nach Zweck, Nutzer und Sicherheitsanforderung sollten Sie die minimal nötigen Rechte setzen.

Empfehlung für die Praxis

Der Anfang mag kompliziert wirken – aber mit wachsender Erfahrung im Umgang mit chmod und Berechtigungen werden Sie sicherer.
Behalten Sie immer im Blick: Wer braucht wofür welchen Zugriff? – und passen Sie Rechte entsprechend an.
So vermeiden Sie Fehler und erhöhen die Sicherheit Ihres Systems!

年収訴求