Wie umask die Standard-Berechtigungen neuer Dateien steuert

Inhaltsverzeichnis

Was umask macht

Umask legt fest, welche Berechtigungen neue Dateien und Verzeichnisse nicht bekommen, indem bestimmte Rechte von den theoretischen Standardwerten 666 (Dateien) und 777 (Verzeichnisse) abgezogen werden. So bestimmst du zentral, ob neue Objekte eher offen (z. B. für Zusammenarbeit) oder restriktiv (z. B. in produktiven Umgebungen) angelegt werden.

Umask an einfachen Beispielen erklärt

Beispiel 1: umask 022 (häufiger Standard)

  • Theoretische Rechte:
    • Datei: 666 (rw-rw-rw-)
    • Verzeichnis: 777 (rwxrwxrwx)
  • Umask: 022
  • Ergebnis (neu erstellt):
    • Datei: 644 → rw-r–r– (User: lesen+schreiben, Gruppe/Andere: nur lesen)
    • Verzeichnis: 755 → rwxr-xr-x (User: alles, Gruppe/Andere: lesen+ausführen)

Das ist ein typischer Default auf vielen Systemen: sinnvoll für gemeinsame Leserechte, aber Schreibrechte nur für den Besitzer.

Beispiel 2: umask 027 (restriktiver)

  • Theoretische Rechte: 666 / 777
  • Umask: 027
  • Ergebnis:
    • Datei: 640 → rw-r—– (User: lesen+schreiben, Gruppe: nur lesen, Andere: kein Zugriff)
    • Verzeichnis: 750 → rwxr-x— (User: alles, Gruppe: lesen+ausführen, Andere: kein Zugriff)

Gut für Teams, in denen nur Gruppenmitglieder lesen dürfen und alle anderen komplett ausgesperrt werden sollen.

Beispiel 3: umask 077 (sehr strikt)

  • Umask: 077
  • Ergebnis:
    • Datei: 600 → rw——-
    • Verzeichnis: 700 → rwx——

Damit bist du maximal restriktiv unterwegs: Nur der Besitzer hat Zugriff, Gruppe und Andere gehen komplett leer aus – ideal für sensible Daten im Home-Verzeichnis oder auf Servern.

Beispiel 4: umask anzeigen

  • Befehl: umask
  • Ausgabe-Beispiel: 0022 → entspricht 022
  • Mit umask -S kannst du eine symbolische Darstellung sehen, etwa u=rwx,g=rx,o=rx.ibm+1

So erkennst du schnell, wie dein System aktuell neue Berechtigungen vergibt.

Umask dauerhaft setzen

Für eine Shell-Sitzung reicht:

umask 027

Nach Logout ist das Setting jedochweg. Dauerhaft machst du es so:

  • Systemweit (alle User):
    • In Dateien wie /etc/profile, /etc/bashrc oder teils /etc/login.defs einen Eintrag umask 027 ergänzen.
    • Ab dem nächsten Login greifen die neuen Defaults für alle (je nach Distribution/Setup).
  • Nur für einen User:
    • In ~/.bashrc oder ~/.bash_profile die Zeile umask 027 hinzufügen.
    • Nach erneutem Login oder source ~/.bashrc nutzt dieser User automatisch die neue Maske.

In komplexeren Umgebungen kann zusätzlich pam_umask in den PAM-Konfigurationen verwendet werden, um je nach Login-Art (z. B. SSH, grafisch) eine einheitliche umask durchzusetzen.

Zusammenfassung

Umask wirkt wie ein Filter auf die Standardrechte 666 (Dateien) & 777 (Verzeichnisse) und bestimmt, wie offen oder geschlossen neue Dateien und Verzeichnisse erstellt werden. Mit Werten wie 022, 027 oder 077 steuerst du den Sicherheitsgrad und machst die Einstellungen über /etc/profile, Shell-RC-Dateien oder PAM dauerhaft, sodass sie auch nach Reboot und neuem Login erhalten bleiben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

217 Beiträge
10 Folgende