Der Befehl umask ändert die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse. Das Ändern von Standardberechtigungen kann nützlich sein, wenn Sie automatisch steuern möchten, wie neue Objekte verwendet werden können, anstatt diese Berechtigungen manuell für jedes neue Objekt zu ändern.
Mit umask legen Sie Standardberechtigungen im oktalen Zahlenformat fest. Anstatt jedoch anzugeben, welche Berechtigungen festgelegt werden sollen, geben Sie an, welche Berechtigungen aus der Standardeinstellung maskiert oder gelöscht werden sollen. Beispielsweise sind die Standardberechtigungen für nicht ausführbare Dateien in Linux 666 (rw-rw-rw-). Wenn Sie möchten, dass der Besitzer diese Berechtigungen behält, aber die Gruppe und andere nur Lesezugriff haben sollen, müssen Sie die umask auf 022 setzen. Jede Nummer wird wie folgt erklärt, in der Reihenfolge:
- 0 bedeutet, dass die aktuellen Eigentümerberechtigungen überhaupt nicht maskiert werden sollten, d. h. auf Lesen und Schreiben belassen werden sollten.
- 2 bedeutet, dass die Gruppenberechtigungen mit 2 maskiert werden sollen, d. h. ziehen Sie 2 vom Standardwert (6) ab und Sie erhalten 4. Gruppenmitglieder haben jetzt nur noch Lesezugriff.
- 2 macht dasselbe wie die vorherige Nummer, aber für andere Benutzer.
Sie können den Befehl umask direkt in der CLI verwenden, um die Standardberechtigungen für diese Sitzung festzulegen, oder Sie können die Standardberechtigungen für jeden Benutzer in seiner .bashrc-Datei festlegen.
Hinweis Hinweis:Da vom Standardwert (666) subtrahiert wird, kann der Befehl umask neu erstellte Dateien nicht dazu zwingen, das Ausführungsbit zu setzen.
Syntax
Die Syntax des umask-Befehls lautet:
$ umask {number}
Wenn beim Ausführen des umask-Befehls der folgende Fehler auftritt:
umask: command not found
Sie können versuchen, das folgende Paket gemäß Ihrer Wahl der Distribution zu installieren:
Verteilung | Befehl |
---|---|
OS X | brew install bash |
Debian | apt-get install execline |
Ubuntu | apt-get install execline |
Alpin | apk bash hinzufügen |
Arch Linux | pacman -S bash |
Kali-Linux | apt-get install execline |
CentOS | yum install bash |
Fedora | dnf install bash |
Raspbian | apt-get install bash |
umask-Befehlsbeispiele
1. Anzeige der aktuellen Maske in Oktalschreibweise:
# umask
2. Zeigen Sie die aktuelle Maske im symbolischen (vom Menschen lesbaren) Modus an:
# umask -S
3. Ändern Sie die Maske symbolisch, um allen Benutzern Leserechte zu gewähren (die restlichen Maskenbits bleiben unverändert):
# umask a+r
4. Legen Sie die Maske (mit Oktal) fest, um keine Berechtigungen für den Eigentümer der Datei und alle Berechtigungen für alle anderen einzuschränken:
# umask 077