Überblick
In diesem Leitfaden betrachten wir die grundlegende Funktionsweise von umask, wodurch die standardmäßigen Zugriffsberechtigungen für neu erstellte Dateien und Verzeichnisse in Linux-Umgebungen festgelegt werden. Von der oktalen Berechnungslogik über die Berechtigungskontrolle für Verzeichnisse zur Teamzusammenarbeit bis hin zur dauerhaften Konfiguration über Shell-Profile fassen wir die wichtigsten Verwaltungsmethoden für den direkten Praxiseinsatz zusammen.
1. Überprüfen der aktuellen umask und Testen der Standardberechtigungen beim Erstellen von Dateien und Verzeichnissen
Führen Sie den Befehl mkdir -p /tmp/umask-lab && cd /tmp/umask-lab aus, um ein dediziertes Übungsverzeichnis für das Testen von umask-Einstellungen und Berechtigungen zu erstellen und dorthin zu wechseln.

Mit dem Befehl umask wird der Maskenwert überprüft und festgelegt, der die Standardzugriffsrechte für neu erstellte Dateien und Verzeichnisse einschränkt.
Das Ausführungsergebnis zeigt, dass der Standard-Maskenwert der aktuellen Sitzung auf 0022 gesetzt ist.
⚙️ [Wichtige Optionen]
-S : Gibt den Maskenwert leicht verständlich im symbolischen Format (u=rwx,g=rx,o=rx) für gewährte Berechtigungen anstelle einer Zahl aus.-p : Gibt die aktuelle Maskeneinstellung in oktaler Schreibweise als wiederverwendbaren umask-Befehl aus.

Wenn Sie den Befehl umask -S ausführen, können Sie im intuitiven symbolischen Modus überprüfen, welche effektiven Berechtigungen dem Benutzer/Eigentümer (u), der Gruppe (g) und anderen Benutzern (o) gemäß der derzeit angewendeten Maske tatsächlich gewährt werden.
Die Ausgabe u=rwx,g=rx,o=rx bedeutet, dass dem Eigentümer Lese-, Schreib- und Ausführungsrechte (Read, Write, Execute) gewährt werden, während der Gruppe und anderen Benutzern standardmäßig Lese- und Ausführungsrechte (Read, Execute) eingeräumt werden.

Um die Standardberechtigungen bei aktuellem umask-Wert (0022) zu überprüfen, erstellen Sie mit dem Befehl touch default_file.txt && mkdir default_dir eine neue Datei und ein neues Verzeichnis.

Führen Sie den Befehl ls -ld default_file.txt default_dir aus, um die tatsächlichen Berechtigungen der erstellten Datei und des Verzeichnisses zu überprüfen.
Es ist ersichtlich, dass das Verzeichnis ausgehend von den maximalen Standardrechten 777 abzüglich der Maske 022 mit 755 (drwxr-xr-x) erstellt wurde, während die reguläre Datei ausgehend von den maximalen Standardrechten 666 (ohne Ausführungsrecht) abzüglich der Maske 022 mit 644 (-rw-r--r--) angelegt wurde.

2. Praxis: Berechtigungskontrolle für neue Dateien durch temporäre Änderung des umask-Werts
Führen Sie den Befehl mkdir -p /tmp/umask-lab && cd /tmp/umask-lab aus, um den dedizierten Arbeitsbereich für diese Übung sicherzustellen und dorthin zu wechseln.

Führen Sie den Befehl umask 027 aus, um den Maskenwert für die aktuelle Sitzung temporär auf 027 zu ändern.
Diese Einstellung schränkt die Schreibberechtigung für Gruppenbenutzer ein und blockiert für andere Benutzer (Others) jegliche Lese-, Schreib- und Ausführungsrechte vollständig.

Um zu prüfen, ob der geänderte umask-Wert (027) ordnungsgemäß auf neu erstellte Elemente angewendet wird, erstellen Sie mit touch secure_file.txt && mkdir secure_dir eine Testdatei und ein Testverzeichnis.

Führen Sie den Befehl ls -ld secure_file.txt secure_dir aus, um die tatsächlichen Berechtigungen der neu erstellten Objekte einzusehen.
Anhand der Ausgabe können Sie die detaillierten Berechtigungszustände sowie die Eigentümerinformationen von Verzeichnis und Datei überprüfen.

Nach Abschluss des Berechtigungstests führen Sie den Befehl umask 022 aus, um die Maskeneinstellung der Sitzung wieder auf den Standardwert zurückzusetzen.

3. umask-Konfiguration für freigegebene Verzeichnisse in Team- und Webserver-Umgebungen
Führen Sie den Befehl mkdir -p /tmp/umask-lab/shared && cd /tmp/umask-lab aus, um ein gemeinsam genutztes Verzeichnis für Teamzusammenarbeit zu erstellen und in den Arbeitspfad zu wechseln.

Um eine reibungslose Zusammenarbeit zwischen Gruppenmitgliedern zu gewährleisten und das Schreibrecht der Gruppe beizubehalten, führen Sie den Befehl umask 002 aus, um den Maskenwert der aktuellen Sitzung anzupassen.
Diese Konfiguration entzieht bei den Standardrechten lediglich anderen Benutzern das Schreibrecht, während dem Eigentümer und der Gruppe sowohl Lese- als auch Schreibrechte uneingeschränkt gewährt werden.

Erstellen Sie bei angewendetem neuen umask-Wert (002) mit dem Befehl touch shared/team_doc.txt && mkdir shared/team_project Dateien und Ordner für die Zusammenarbeit.

Führen Sie den Befehl ls -ld shared/team_doc.txt shared/team_project aus, um die tatsächlichen Berechtigungen der erstellten Objekte zu prüfen.
Die Ausgabe ermöglicht die Überprüfung der detaillierten Berechtigungszustände und Eigentümerinformationen der innerhalb des freigegebenen Verzeichnisses erstellten Elemente.

Nach Abschluss der Tests in der Kollaborationsumgebung führen Sie den Befehl umask 022 aus, um die Maskeneinstellung der Sitzung wieder auf den standardmäßigen Sicherheitszustand zurückzusetzen.

4. Dauerhafte systemweite und benutzerspezifische umask-Konfiguration
Führen Sie den Befehl grep -n 'UMASK' /etc/login.defs aus, um den systemweiten Standardwert für umask einzusehen.
Aus der Ausgabe geht hervor, dass in Zeile 151 der systemweite Standardwert UMASK 022 definiert ist.

Führen Sie den Befehl echo '# Custom user umask' >> ~/.bashrc aus, um einen Kommentar hinzuzufügen, der diese Zeile als benutzerspezifische Einstellung kennzeichnet.

Fügen Sie die Einstellung mit dem Befehl echo 'umask 027' >> ~/.bashrc hinzu, damit die benutzerdefinierten Berechtigungen bei jedem Start einer neuen Shell-Sitzung automatisch angewendet werden.

Führen Sie den Befehl tail -n 2 ~/.bashrc aus, um zu überprüfen, ob die umask-Konfiguration am Ende der Datei ~/.bashrc ordnungsgemäß hinzugefügt wurde.
Das Ergebnis bestätigt, dass der Kommentar und die Einstellung umask 027 korrekt in den letzten beiden Zeilen der Datei hinterlegt sind.

Führen Sie den Befehl bash -c 'source ~/.bashrc && umask' aus, um die Änderungen aus der bearbeiteten Datei ~/.bashrc zu laden und den endgültigen Maskenwert zu überprüfen.
Anhand der Ausgabe können Sie den aktuell wirksamen Maskenzustand in dieser Shell-Umgebung feststellen.

In diesem Artikel haben wir die grundlegenden Konzepte und praxiserprobten Konfigurationsmethoden von umask zusammengefasst, mit denen sich die Erstellungsberechtigungen für Dateien und Verzeichnisse unter Linux automatisch steuern lassen.
Wenden Sie den passenden umask-Wert für Ihre Betriebsumgebung und Ihre Sicherheitsrichtlinien an, um eine sichere und strukturierte Systemverwaltung zu gewährleisten.