sammlung:chmod
Inhaltsverzeichnis
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
777für Produktionsdateien verwenden - SSH-Keys: Private Keys müssen
600sein, sonst verweigert SSH die Nutzung - Web-Verzeichnisse: Standard ist
755für Verzeichnisse,644fü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.txt · Zuletzt geändert: von Branislav Zeljak
