Einführung
Beim Erstellen einer neuen Datei oder eines neuen Verzeichnisses wendet Linux den Standardsatz von Berechtigungen an. Die umask
Mit dem Befehl können Sie diese Standardberechtigungen ändern.
In diesem Tutorial erfahren Sie, was umask ist, wie es funktioniert und wie Sie damit Datei- und Verzeichnisberechtigungen für einzelne Benutzer oder Gruppen einrichten.
Voraussetzungen
- Linux-basiertes System (z. B. Ubuntu, CentOS, Debian)
- Ein Benutzerkonto mit sudo-Berechtigungen
- Zugriff auf das Befehlsterminal
Umask-Übersicht
Der Begriff umask bezieht sich auf zwei Dinge:
1. Die Linux-umask
Befehl. umask
(Benutzerdateierstellungsmodus) ist ein Linux-Befehl, mit dem Sie Standardberechtigungen für neu erstellte Dateien und Ordner einrichten können.
2. Eine benutzerdefinierte Berechtigungsmaske. Ein Benutzer kann auswählen, wie er Berechtigungen einschränken möchte, indem er eine Berechtigungsmaske verwendet . Eine Berechtigungsmaske interagiert mit den standardmäßigen Systemberechtigungen und ändert diese. Die umask
Befehl wird verwendet, um diese Maske anzuwenden.
Wie funktioniert Umask?
Die umask
Der Befehl wirkt sich auf die standardmäßigen Linux-Datei- und Ordnerberechtigungen aus.
Es gibt drei Kategorien von Berechtigungen für jede Datei und jeden Ordner in Linux:
- Benutzer: Definiert Berechtigungen für jeden einzelnen Benutzer. Standardmäßig wird der Benutzer, der eine Datei oder einen Ordner erstellt, als Eigentümer festgelegt.
- Gruppe: Definiert Berechtigungen für eine Gruppe von Benutzern, die dieselbe Zugriffsebene haben.
- Sonstiges: Definiert Berechtigungen für alle Personen, die nicht in den beiden vorherigen Kategorien enthalten sind.
Verwenden Sie den folgenden Befehl, um die Berechtigungen für den Home-Ordner zu überprüfen:
ls -l
Jede Zeile der Ausgabe beginnt mit einer 10-stelligen Zeichenfolge, in der die Berechtigungen aufgeführt sind. Wenn man den hervorgehobenen Eintrag aufschlüsselt, besteht diese Zeichenfolge aus den folgenden Elementen:
d
:Gibt den Dateityp (Verzeichnis) an.rwx
:Gibt Benutzerberechtigungen an (Lesen, Schreiben und Ausführen).r-x
:Gibt Gruppenberechtigungen an (Lesen und Ausführen).r-x
:Zeigt andere Berechtigungen an (Lesen und Ausführen).
Die umask-Befehlssyntax
Verwenden der umask
Befehl ohne zusätzliche Befehlsoptionen gibt die aktuelle Maske als Ausgabe zurück:
Die umask
Befehl verwendet die folgende Syntax:
umask [-p] [-S] [mask]
Wo:
[maske]
:Die neue Berechtigungsmaske, die Sie anwenden. Standardmäßig wird die Maske als numerischer (oktaler) Wert dargestellt.[-S]
:Zeigt die aktuelle Maske als symbolischen Wert an.[-p][code>
:Zeigt die aktuelle Maske zusammen mitumask
an Befehl, sodass er kopiert und als zukünftige Eingabe eingefügt werden kann.
Symbolische und numerische umask-Werte
Wie wir im obigen Beispiel erwähnt haben, umask kann als numerischer (oktaler) oder symbolischer Wert angezeigt werden.
Eine Maske kann die folgenden numerischen und die entsprechenden symbolischen Werte haben:
0 | --- | Keine Berechtigung |
1 | --x | Ausführen |
2 | -w- | Schreiben |
3 | -wx | Schreiben und ausführen |
4 | r-- | Lesen |
5 | r-x | Lesen und ausführen |
6 | rw- | Lesen und schreiben |
7 | rwx | Lesen, schreiben und ausführen |
So berechnen Sie Umask-Werte
Linux verwendet die folgenden Standardmasken- und Berechtigungswerte:
- Die Standardberechtigungswerte des Systems sind 777 (
rwxrwxrwx
) für Ordner und 666 (rw-rw-rw-
) für Dateien. - Die Standardmaske für einen Nicht-Root-Benutzer ist 002, wodurch die Ordnerberechtigungen auf 775 geändert werden (
rwxrwxr-x
) und Dateiberechtigungen auf 664 (rw-rw-r--
). - Die Standardmaske für einen Root-Benutzer ist 022, wodurch die Ordnerberechtigungen auf 755 geändert werden (
rwxr-xr-x
) und Dateiberechtigungen auf 644 (rw-r--r--
).
Dies zeigt uns, dass der endgültige Berechtigungswert das Ergebnis der Subtraktion von umask ist Wert bilden den Standardberechtigungswert (777 oder 666).
Wenn Sie beispielsweise den Ordnerberechtigungswert von 777 (Lesen, Schreiben und Ausführen für alle) auf 444 (Lesen für alle) ändern möchten, müssen Sie eine umask anwenden Wert von 333, seit:
777 - 444 = 333
Wie man den Umask-Standardwert festlegt und aktualisiert
Verwenden Sie die folgende Syntax, um eine neue umask
anzuwenden Wert:
umask [mask]
Wo:
[maske]
:Die Maske, die Sie anwenden möchten, entweder als symbolischer oder numerischer Wert.
Einrichten eines symbolischen Umask-Werts
Legen Sie eine neue umask fest Wert, indem symbolische Werte mit der folgenden Syntax verwendet werden:
umask u=#,g=#,o=#
Wo:
u
:Gibt Benutzerberechtigungen an.g
:Gibt Gruppenberechtigungen an.o
:Zeigt andere Berechtigungen an.#
:Der symbolische Berechtigungswert, den Sie anwenden möchten, wie in der obigen Tabelle aufgeführt.
Hinweis: Verwenden Sie niemals Leerzeichen nach Kommas, wenn Sie einen symbolischen Maskenwert einrichten.
Es gibt auch andere Operatoren, die Sie verwenden können:
=
: Erstellt festgelegte Dateiberechtigungen und verbietet nicht festgelegte Berechtigungen.+
: Erstellt festgelegte Berechtigungen, ändert jedoch keine nicht festgelegten Berechtigungen.-
:Verbietet bestimmte Berechtigungen, ändert aber nicht festgelegte Berechtigungen.
Einrichten eines numerischen Umask-Werts
Sobald Sie die erforderliche umask berechnet haben numerischer Wert, richten Sie ihn ein mit:
umask [mask]
Wo:
[maske]
:Der numerische Wert der Maske, die Sie anwenden möchten.
Unterschied zwischen umask und chmod
Der Befehl chmod unter Linux funktioniert ähnlich wie umask
Befehl. Es wird auch verwendet, um Berechtigungen für Dateien und Ordner zu definieren.
Der Unterschied zwischen umask
und chmod
ist das umask
ändert die Standardberechtigungen und damit die Berechtigungen für alle neu erstellten Dateien und Ordner, während chmod
setzt Berechtigungen für bereits existierende Dateien und Ordner.