sammlung:chmod

Dies ist eine alte Version des Dokuments!


chmod - Dateirechte ändern

Kurzfassung: Mit chmod werden die Zugriffsrechte (Permissions) von Dateien und Verzeichnissen geändert. Das Kommando ermöglicht die Steuerung von Lese-, Schreib- und Ausführungsrechten für Eigentümer, Gruppe und andere Benutzer. Essentiell für die Sicherheit und Zugriffsverwaltung in Linux-Systemen.

Übersicht

chmod (change mode) ist ein grundlegendes Linux-Kommando zur Änderung von Dateiberechtigungen. Es unterstützt sowohl symbolische als auch oktale Notation und ermöglicht präzise Kontrolle über Zugriffsrechte.

Voraussetzungen

  • Root-Rechte oder Eigentümerschaft der Datei/des Verzeichnisses
  • Grundkenntnisse über Linux-Dateiberechtigungen
  • Verständnis von User/Group/Other-Konzept

Syntax

chmod [Optionen] Modus Datei

Modus-Notation

Oktale Notation

Numerische Darstellung der Rechte (empfohlen für klare Definitionen):

User Gruppe Rest
r w x r w x r w x
4 2 1 4 2 1 4 2 1
# Beispiel: 755 = rwxr-xr-x
# User: 7 (4+2+1 = rwx)
# Group: 5 (4+0+1 = r-x)
# Other: 5 (4+0+1 = r-x)
chmod 755 script.sh

Symbolische Notation

Buchstaben-basierte Notation für relative Änderungen:

Benutzer:

  • u = User (Eigentümer)
  • g = Group (Gruppe)
  • o = Others (Andere)
  • a = All (Alle)

Operatoren:

  • + = Rechte hinzufügen
  • - = Rechte entfernen
  • = = Rechte setzen (überschreibt bestehende)

Rechte:

  • r = Read (Lesen)
  • w = Write (Schreiben)
  • x = Execute (Ausführen)
# Ausführungsrecht für User hinzufügen
chmod u+x datei
 
# Schreibrecht für Group entfernen
chmod g-w datei
 
# Alle Rechte für Other entfernen
chmod o= datei

Wichtige Optionen

-R        # Rekursiv für Unterverzeichnisse anwenden
-v        # Verbose - zeigt alle Änderungen an
-c        # Zeigt nur tatsächliche Änderungen
--reference=REF  # Kopiert Rechte von Referenzdatei

Anleitung

Schritt 1: Häufige Berechtigungen setzen

# Normale Datei (rw-r--r--)
chmod 644 dokument.txt
 
# Ausführbare Datei/Script (rwxr-xr-x)
chmod 755 script.sh
 
# Privater Ordner (rwx------)
chmod 700 ~/.ssh
 
# Öffentlicher Ordner (rwxr-xr-x)
chmod 755 /var/www/html
 
# Konfig-Datei mit sensiblen Daten (rw-------)
chmod 600 ~/.ssh/id_rsa

Schritt 2: Rekursive Änderungen

# Alle Dateien und Verzeichnisse rekursiv anpassen
chmod -R 755 /var/www/projekt
 
# Nur Verzeichnisse rekursiv auf 755 setzen
find /pfad -type d -exec chmod 755 {} \;
 
# Nur Dateien rekursiv auf 644 setzen
find /pfad -type f -exec chmod 644 {} \;

Schritt 3: Symbolische Notation nutzen

# Ausführungsrecht für alle hinzufügen
chmod a+x script.sh
 
# Schreibrecht für Group und Other entfernen
chmod go-w datei.txt
 
# Nur User hat alle Rechte, Rest nur Lesen
chmod u=rwx,go=r datei

Hinweise

  • Sicherheit: Niemals 777 für Produktionsdateien verwenden
  • SSH-Keys: Private Keys müssen 600 sein, sonst verweigert SSH die Nutzung
  • Web-Verzeichnisse: Standard ist 755 für Verzeichnisse, 644 für Dateien
  • Scripts: Benötigen x-Recht (execute) zum Ausführen
  • Rekursiv vorsichtig: -R ändert alle Unterelemente, kann ungewollt Ausführungsrechte setzen
  • Backup: Bei kritischen Systemen vor Massenänderungen Rechte sichern

Siehe auch

Quellen

sammlung/chmod.1767727604.txt.gz · Zuletzt geändert: von 127.0.0.1