Nehmen Sie die Standardmaske 0666 an. umask
0022 würde bedeuten , dass die neue Maske 0644 (0666-0022 = 0644) Leseberechtigungen für Gruppen und andere Benutzer (keine Schreib- oder Ausführungsberechtigungen) hat.
Die "zusätzliche" Ziffer (die erste Zahl = 0) gibt an, dass es keine speziellen Modi gibt.
Wenn der Modus mit einer Ziffer beginnt, wird er als Oktal interpretiert, andernfalls soll er symbolisch sein.
0 ist eine Ziffer, genau wie 1 (für das Sticky-Bit) oder 6 (für SGID). Ein Befehl wie chmod
kann von anderen Methoden aufgerufen werden, z. B. chmod ug+rw mydir
wo Sie die Lese- und Schreibberechtigungen für Benutzer und Gruppen hinzufügen würden. Beachten Sie, dass der Modus in diesem Fall (ug + rw) nicht mit einer Ziffer beginnt, sondern eher symbolisch interpretiert wird.
Unter en.wikipedia.org/wiki/Chmod#Symbolic_examples finden Sie Informationen zu Symbolen sowie unter www.lifeaftercoffee.com/2007/03/20/special-permission-modes-in-linux-and-unix/ Informationen zu speziellen Modi.
Ich weiß nicht, dass Sie das erste bisschen mit dem entlarven würden umask
, aber technisch könnten Sie. Es würde erklären, warum Sie es fast immer als eine Null sehen.
Gutschrift auf pinkfloydx33
Die erste Ziffer der Maske befasst sich mit speziellen Berechtigungen, die nicht ganz so sauber in den Besitzer / die Gruppe / das andere Modell passen. Wenn eine Dateiberechtigung aus vier Ziffern besteht, bezieht sich die erste auf diese speziellen Werte:
4000 = SUID
2000 = SGID
1000 = sticky bit
Das SUID-Bit, kurz für Set-User-ID, bewirkt, dass ein ausführbares Programm mit der effektiven Benutzer-ID (UID) des Eigentümers ausgeführt wird. Mit anderen Worten, unabhängig davon, wer es ausführt, wird das Programm mit den Rechten des Eigentümers ausgeführt. Dies ist häufig bei Programmen der Fall, die Root-Rechte benötigen, jedoch von normalen Benutzern ausgeführt werden sollen: Dies ist passwd
ein Beispiel dafür.
Das SGID-Bit, kurz für Set-Group-ID, ist sehr ähnlich, wird jedoch mit der effektiven Gruppen- ID (GID) des Besitzers ausgeführt.
Das Sticky-Bit ist etwas komplizierter. Wenn Sie weitere Informationen dazu wünschen, können Sie die Manpage lesen sticky
.
Diese Bits können auch für Verzeichnisse verwendet werden, ihre Bedeutung ändert sich jedoch.
Ich glaube nicht, dass Sie das so einstellen können umask
, dass Sie standardmäßig eines dieser zusätzlichen Bits aktivieren, aber Sie würden das wahrscheinlich sowieso nie wollen.
Gutschrift an user470379
man 2 umask
(dem entsprechenden Systemaufruf) "werden nur die Dateiberechtigungsbits vonmask
" verwendet. Inbash
erzeugt umask 1000 einen Fehler: "Oktalzahl außerhalb des Bereichs". Warum also die zusätzliche 0? Ich denke, es soll nur zeigen, dass die Zahl in Oktal ist.