GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist umask in UNIX/Linux

Die Benutzerdateierstellungsmodusmaske (umask) ist ein eingebauter Shell-Befehl, der verwendet werden kann, um Standardwerte für die Lese-/Schreib-/Ausführungsberechtigungen für neu erstellte Dateien festzulegen. Es sollte entweder in den Shell-Startdateien „.cshrc“ oder „.profile“ ausgeführt werden.

Es erhält einen dreistelligen Oktalwert, der die binäre Umkehrung der Berechtigungen darstellt, die Dateien zugewiesen werden können. Dieses dreistellige numerische Argument stellt den Zugriff dar, der „gesperrt“ oder „ausgeblendet“ werden soll, wenn eine Datei erstellt wird.

Wenn eine Datei erstellt wird, werden ihre Berechtigungen auf das gesetzt, was das erstellende Programm verlangt, abzüglich dessen, was die Einstellung „umask“ verbietet. Daher ist der gewünschte Wert das Oktalkomplement des gewünschten numerischen Dateimodus. Die Ziffern geben die unten gezeigten Berechtigungen an:

Oktal Binär Berechtigungen
0 000 rwx
1 001 rw-
2 010 r-x
3 011 r–
4 100 -wx
5 101 -w-
6 110 –x
7 111 (keine)

Änderung der „umask“

Um den gewünschten Wert zu bestimmen, berechnen Sie einfach das numerische Äquivalent für den Dateimodus, den Sie erhalten möchten, und subtrahieren Sie es dann von 777.

Um beispielsweise standardmäßig den Modus 751 zu erhalten, berechnen Sie 777-751=026 – das ist der Wert, den Sie „umask“

geben
% umask 026

Sobald dieser Befehl ausgeführt wird, erhalten alle zukünftig erstellten Dateien diesen Schutz automatisch.

Eine andere Möglichkeit, „umask“-Werte zu berechnen, besteht darin, daran zu denken, dass die Zahl 2 in „umask“ die Schreibberechtigung deaktiviert, während die Zahl 7 die Lese-, Schreib- und Ausführungsberechtigung deaktiviert.

Allgemeine „Unmask“-Werte

Standardmäßig geben die meisten UNIX-Versionen einen Oktalmodus von 666 an (jeder Benutzer kann die Datei lesen oder schreiben), wenn sie neue Dateien erstellen. Ebenso werden neue Programme mit einem Modus von 777 erstellt (jeder Benutzer kann das Programm lesen, schreiben oder ausführen).

Die gebräuchlichsten umask-Werte sind 022, 027 und 077. Ein umask-Wert von 022 lässt den Eigentümer alle neu erstellten Dateien sowohl lesen als auch schreiben, aber alle anderen können sie nur lesen:

  • 0666 :Standard-Dateierstellungsmodus.
  • 022 :resultierender Modus.
  • 0644 :resultierender Modus.

Ein umask-Wert von 077 lässt nur den Eigentümer der Datei alle neu erstellten Dateien lesen:

  • 0666 :Standard-Dateierstellungsmodus.
  • 077 :umask.
  • 0600 :resultierender Modus.

Auf vielen UNIX-Systemen ist die Standard-Umask 022. Diese wird vom Init-Prozess geerbt, da alle Prozesse Nachkommen von Init sind.

Tabelle mit allgemeinen umask-Einstellungen

umask Benutzerzugriff Gruppenzugriff Andere
0000 alle alle alle
0002 alle alle lesen, ausführen
0007 alle alle keine
0022 alle lesen, ausführen lesen, ausführen
0027 alle lesen, ausführen keine
0077 alle keine keine


Linux
  1. Linux vs. Unix:Was ist der Unterschied?

  2. Was ist ein Linux-Benutzer?

  3. Linux – Ist Linux ein Unix?

  4. Linux – Raw-Tastaturmodus?

  5. Ist Linux ein Unix?

Umask-Befehl unter Linux

Was ist die Login-Shell in Linux?

mkdir-Befehl unter Linux/Unix

Linux gegen Unix

Grep-Befehl unter Linux/UNIX

ls-Befehl unter Linux/UNIX