← Zurück

chmod & chown

chmod & chown – Cheatsheet

Schnellreferenz für Dateiberechtigungen unter Linux.


Berechtigungen lesen

ls -la datei.txt
# -rwxr-xr-- 1 user group 4096 Jan 15 10:30 datei.txt
#  │├─┤├─┤├─┤
#  │ │  │  └── Others
#  │ │  └───── Group
#  │ └──────── Owner
#  └────────── Typ (- = Datei, d = Verzeichnis)

Oktal-Werte

Oktal Berechtigung Bedeutung
7 rwx Alles
6 rw- Lesen + Schreiben
5 r-x Lesen + Ausführen
4 r-- Nur Lesen
0 --- Nichts

Berechnung: r=4 + w=2 + x=1


Häufige Kombinationen

chmod 755 script.sh     # rwxr-xr-x - Skripte
chmod 644 datei.txt     # rw-r--r-- - Dateien
chmod 700 privat/       # rwx------ - Nur Owner
chmod 600 .ssh/id_rsa   # rw------- - Sensible Dateien
chmod 775 shared/       # rwxrwxr-x - Gruppenverzeichnis

chmod – Symbolisch

# Ausführbar für Owner
chmod u+x script.sh

# Schreiben für Gruppe hinzufügen
chmod g+w datei.txt

# Others: Alles entfernen
chmod o-rwx geheim.txt

# Alle dürfen lesen
chmod a+r public.txt

# Exakt setzen
chmod u=rwx,go=rx script.sh

Wer: u=Owner, g=Group, o=Others, a=All


chown – Eigentümer ändern

# Nur Owner
sudo chown max datei.txt

# Owner und Gruppe
sudo chown max:developers datei.txt

# Nur Gruppe
sudo chown :developers datei.txt
sudo chgrp developers datei.txt

# Rekursiv
sudo chown -R max:max /home/max/

Rekursiv ändern

# Alles im Verzeichnis
chmod -R 755 /pfad/
chown -R user:group /pfad/

# Nur Verzeichnisse
find /pfad -type d -exec chmod 755 {} \;

# Nur Dateien
find /pfad -type f -exec chmod 644 {} \;

Spezielle Bits

# SUID - Ausführung als Owner
chmod u+s programm    # oder 4755
# -rwsr-xr-x

# SGID - Gruppe vererben
chmod g+s verzeichnis/    # oder 2775
# drwxrwsr-x

# Sticky Bit - Nur eigene Dateien löschen
chmod +t verzeichnis/    # oder 1777
# drwxrwxrwt

umask

# Anzeigen
umask
umask -S

# Setzen (temporär)
umask 022    # Standard: Dateien 644, Verzeichnisse 755
umask 077    # Restriktiv: Dateien 600, Verzeichnisse 700

ACL (erweiterte Rechte)

# Anzeigen
getfacl datei.txt

# User Rechte geben
setfacl -m u:anna:rwx datei.txt

# Gruppe Rechte geben
setfacl -m g:team:rx datei.txt

# Entfernen
setfacl -x u:anna datei.txt

# Alle ACLs löschen
setfacl -b datei.txt

Typische Setups

Webserver

sudo chown -R www-data:www-data /var/www/
sudo find /var/www -type d -exec chmod 755 {} \;
sudo find /var/www -type f -exec chmod 644 {} \;

SSH-Verzeichnis

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/authorized_keys

Team-Projekt

sudo mkdir /projects/team
sudo chown :developers /projects/team
sudo chmod 2775 /projects/team