Umfang von umask
Das Betriebssystem gewährt beim Erstellen neuer Dateien oder Verzeichnisse Standardberechtigungen. Der `umask`-Wert wird von diesen Standardberechtigungen 'ausgeschlossen', um die endgültigen Berechtigungen zu bestimmen. `umask` ist aus sicherheitstechnischer Sicht wichtig, da beispielsweise verhindert werden kann, dass wichtige Konfigurationsdateien mit zu offenen Berechtigungen erstellt werden. Der `umask`-Wert kann in jeder Benutzersitzung unterschiedlich festgelegt werden und wird normalerweise in Shell-Initialisierungsdateien wie `.bashrc` oder `.profile` konfiguriert.
Funktionsweise von umask
umask ist eine Maskenwert, der die Berechtigungen angibt, die 'ausgeschlossen' werden sollen, nicht die Berechtigungen, die erlaubt werden sollen. Das bedeutet, dass das Ergebnis der endgültigen Berechtigungen die maximalen Standardberechtigungen minus den umask-Wert ist.
Maximale Standardberechtigungen
- Datei:
666(Lesen und Schreiben, keine Ausführungsberechtigung) - Verzeichnis:
777(alle Berechtigungen einschließlich Lesen, Schreiben und Ausführen)
Berechnung des umask-Werts
umask wird als dreistellige Oktalzahl ausgedrückt (z. B. 022, 002). Dieser Wert wird in der Reihenfolge Eigentümer (User), Gruppe (Group) und Andere (Others) angewendet. Jede Ziffer steht für die Summe der Berechtigungsbits (Lesen=4, Schreiben=2, Ausführen=1). Die endgültigen Berechtigungen werden wie folgt berechnet:
| Typ | Maximale Standardberechtigungen | umask | Endgültige Berechtigungen |
|---|---|---|---|
| Datei | 666 (rw-rw-rw-) | 022 (--w--w-) | 644 (rw-r--r--) |
| Verzeichnis | 777 (rwxrwxrwx) | 022 (--w--w-) | 755 (rwxr-xr-x) |
Typische umask-Werte
Auf den meisten Systemen beträgt der Standard-umask-Wert 0022 oder 0002. Die führende 0 steht für spezielle Berechtigungen (sticky bit, SGID, SUID) und wird normalerweise auf 0 gesetzt.
Bedeutung typischer umask-Werte
umask 022: Dateien werden mit644(rw-r--r--), Verzeichnisse mit755(rwxr-xr-x) Berechtigungen erstellt. Dies ist die häufigste Einstellung, die dem Eigentümer alle Berechtigungen und der Gruppe sowie anderen Benutzern Lese- und Ausführungsberechtigungen gewährt.umask 002: Dateien werden mit664(rw-rw-r--), Verzeichnisse mit775(rwxrwxr-x) Berechtigungen erstellt. Dies erlaubt Gruppenbenutzern ebenfalls Schreibberechtigungen und ist vorteilhaft für die Zusammenarbeit innerhalb der gleichen Gruppe.umask 077: Dateien werden mit600(rw-------), Verzeichnisse mit700(rwx------) Berechtigungen erstellt. Dies ist eine sehr strenge Berechtigungseinstellung, bei der niemand außer dem Eigentümer Zugriff hat. Geeignet für sehr sicherheitsrelevante persönliche Dateien oder Verzeichnisse.
Wichtige umask-Befehlsoptionen
`umask`-Befehl wird verwendet, um den aktuellen Wert zu überprüfen oder einen neuen Wert festzulegen. Ohne Optionen zeigt er den aktuellen `umask`-Wert an.
1. Überprüfen und Festlegen des umask-Werts
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`umask` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Beispiele
Lernen Sie anhand verschiedener Anwendungsbeispiele des `umask`-Befehls, wie Sie die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse überprüfen und festlegen.
Aktuellen umask-Wert überprüfen
umask
Überprüfen Sie den `umask`-Wert der aktuellen Shell-Sitzung in oktaler Form (z. B. `0022`).
umask-Wert im symbolischen Modus überprüfen
umask -S
Überprüfen Sie den `umask`-Wert in der Form von 'u=rwx,g=rx,o=rx' anstelle von oktal, um die letztendlich erlaubten Berechtigungen anzuzeigen.
umask-Wert auf 002 festlegen
umask 002
Ändern Sie den `umask`, damit neu erstellte Dateien mit `664`(rw-rw-r--) und Verzeichnisse mit `775`(rwxrwxr-x) Berechtigungen festgelegt werden. (Schreibberechtigung für Benutzer in derselben Gruppe zulassen)
Strengen umask-Wert auf 077 festlegen
umask 077
Ändern Sie den `umask`, damit neu erstellte Dateien mit `600`(rw-------) und Verzeichnisse mit `700`(rwx------) Berechtigungen festgelegt werden. Zugriff für niemanden außer dem Eigentümer.
Überprüfen der Berechtigungen für Dateien/Verzeichnisse nach Änderung des umask
umask 002
touch test_file_002.txt
mkdir test_dir_002
ls -l test_file_002.txt test_dir_002
Nachdem Sie den umask auf `002` festgelegt haben, erstellen Sie neue Dateien und Verzeichnisse, um zu überprüfen, ob die geänderten Berechtigungen angewendet wurden, indem Sie `ls -l` verwenden.