Appearance
Kapitel 6: Dateiberechtigungsoperationen (Kernpunkt)
6.1 Bedeutung von Berechtigungen (r: lesen, w: schreiben, x: ausführen, unterschiedliche Wirkung auf Dateien/Verzeichnisse)
Berechtigungen verstehen:
r(read - 4): Lesen von Dateiinhalten oder Auflisten von Verzeichnissenw(write - 2): Schreiben/Ändern von Dateiinhalten oder Erstellen/Löschen von Dateien in Verzeichnissenx(execute - 1): Ausführen von Dateien (Programme/Scripts) oder Zugriff auf Verzeichnisse
Unterschied für Dateien und Verzeichnisse:
| Berechtigung | Datei | Verzeichnis |
|---|---|---|
| r (lesen) | Inhalt lesen | Dateien auflisten (ls) |
| w (schreiben) | Inhalt ändern | Dateien erstellen/löschen |
| x (ausführen) | Als Programm ausführen | In Verzeichnis wechseln (cd) |
Berechtigungsgruppen:
u(user): Dateibesitzerg(group): Benutzergruppeo(others): Andere Benutzera(all): Alle oben genannten
6.2 Datei-/Verzeichnisberechtigungen anzeigen (ls -l Befehl interpretieren)
ls -l Ausgabe interpretieren:
bash
$ ls -l
-rw-r--r-- 1 benutzer gruppe 1234 Jan 1 12:00 datei.txt
drwxr-xr-x 2 benutzer gruppe 4096 Jan 1 12:00 ordnerBedeutung der Spalten:
- Erstes Zeichen: Dateityp (
-=Datei,d=Verzeichnis,l=Link) - Nächste 9 Zeichen: Berechtigungen (3 Gruppen à 3 Zeichen: Besitzer, Gruppe, Andere)
- Zahl: Anzahl der Hardlinks
- Besitzername
- Gruppenname
- Dateigröße (Bytes)
- Änderungsdatum
- Dateiname
Berechtigungsbeispiel:
-rw-r--r--: Datei, Besitzer kann lesen/schreiben, Gruppe und Andere können nur lesendrwxr-xr-x: Verzeichnis, Besitzer kann lesen/schreiben/ausführen, Gruppe und Andere können lesen/ausführen
6.3 Berechtigungen ändern (chmod-Befehl, Buchstabenmethode + Ziffernmethode, anfängerverständlich)
chmod - Change Mode:
Buchstabenmethode:
bash
chmod u+r datei.txt # Besitzer Lesezugriff hinzufügen
chmod g+w datei.txt # Gruppe Schreibzugriff hinzufügen
chmod o-x datei.txt # Anderen Ausführungszugriff entfernen
chmod a+r datei.txt # Allen Lesezugriff hinzufügen
chmod u=rw,g=r,o= datei.txt # Exakte Berechtigungen setzenZiffernmethode (Oktal):
bash
chmod 755 datei.txt # rwxr-xr-x (Besitzer: rwx=7, Gruppe: r-x=5, Andere: r-x=5)
chmod 644 datei.txt # rw-r--r-- (Besitzer: rw-=6, Gruppe: r--=4, Andere: r--=4)
chmod 700 privates_verz/ # rwx------ (Nur Besitzer hat Zugriff)Berechnungstabelle:
- r (read) = 4
- w (write) = 2
- x (execute) = 1
Beispiel: rwx = 4+2+1 = 7, r-x = 4+0+1 = 5
6.4 Dateibesitzer und -gruppe ändern (chown, chgrp)
chown - Change Owner:
bash
chown neuer_besitzer datei.txt # Besitzer ändern
chown neuer_besitzer:neue_gruppe datei.txt # Besitzer und Gruppe ändern
chown -R benutzer:gruppe verzeichnis/ # Rekursiv für Verzeichnissechgrp - Change Group:
bash
chgrp neue_gruppe datei.txt # Gruppe ändern
chgrp -R neue_gruppe verzeichnis/ # Rekursiv für VerzeichnisseWichtige Hinweise:
- Nur
rootkann den Besitzer ändern - Beispiel:
sudo chown root:root datei.txt
6.5 Häufige Fallen für Anfänger: Lösungen bei unzureichenden Berechtigungen
Problem: "Permission denied"
Lösungen:
- Berechtigungen überprüfen:
ls -l datei.txt - Berechtigungen ändern:
chmod +r datei.txt - Als root ausführen:
sudo befehl - Besitzer ändern:
sudo chown $USER datei.txt
Häufige Szenarien:
- Kann Datei nicht ausführen:
chmod +x skript.sh - Kann in Verzeichnis nicht wechseln:
chmod +x verzeichnis/ - Kann Datei nicht löschen: Berechtigungen des übergeordneten Verzeichnisses prüfen (
chmod +w verzeichnis/)
Sicherheitstipps:
- Vermeiden Sie
chmod 777(unsicher) - Geben Sie nur die minimal notwendigen Berechtigungen
- Verwenden Sie
sudomit Bedacht
