[lpic] umask II

Cyrill Steiner cyrill.steiner at bluewin.ch
Fr Nov 21 23:44:21 CET 2014


On 20.11.2014 00:52, Niklaus Hofer wrote:
> On Wed, 2014-11-19 at 23:49 +0100, Rene Moser wrote:
>> Ich meine er meint _vor_ umask, also die Ausgangslage, die ist
>> allerdings hardcoded sonst wär echt ein Rätselspiel was da
>> rauskommt ;)
> Ganz so einfach scheint es leider nicht zu sein. Der allererste Prozess
> den der Kernel erstellt (init) ist speziell definiert in
> "include/linux/init_task.h" Die Werte fuer das init_fs scheinen dabei
> aus "fs/fs_struct.c" zu kommen (wenn ich das richtig verstanden habe)
> und dort ist der Wert tatsaechlich hard kodiert (auf 0022). Da ja alle
> Prozesse von init erben (ueber beliebig viele zwischenschritte) erben
> auch alle diese umask.
Ich habe mich auch schon gefragt, ob nicht einfach alle Prozesse ihre 
umask von init erben.
>
> ABER. Wenn du dir die manpage zu login ansiehst, und darin nach umask
> suchst, wirst du feststellen, dass die manpage eine Datei
> "/etc/login.defs" erwaehnt aus der das login Programm gewisse Werte zu
> benutzen scheint.
>
> Zitat aus der manpage:
>
>         UMASK (number)
>             The file mode creation mask is initialized to this value. If
> not specified, the mask will be initialized to 022.
>
> Zumindest auf meinem Gentoo ist die umask in der login.defs Datei auch
> tatsaechlich definiert.
>
> NOCH WICHTIGER aber, erwaehnt die manpage, dass die Variable
> im /etc/passwd File auf Nutzerbasis ueberschrieben werden kann! Offenbar
> gibt es in /etc/passwd ein Feld names GECOS [1] in dem verschieden
> Informationen festgehalten werden koennen. Unter Anderem die umask.
> Editiert werden kann das Feld (ausser von Hand mit einem Editor) mit dem
> Kommando chfn und der Option -o. Damit der Wert aus dem GECOS Feld
> denjenigen aus dem login.defs tatsaechlich ueberschreibt, muss der Wert
> QUOTAS_ENAB in login.defs gesetzt sein.
>
> Wenn aber QUOTAS_ENAB gesetzt ist, dann kommen ausserdem die Werte
> aus /etc/limits zum Zug (hier werden so spassige Dinge wie die maximal
> erlaubte Stack size, max. Ressourcen Verbrauch pro User usw.
> definiert).
>
> AUSSERDEM (weils ja noch nicht kompliziert genug ist bis jetzt) bietet
> PAM (natuerlich nur bei Systemen die PAM auch nutzen) Moeglichkeiten zum
> Setzen der umask.
>
> Es gibt also durchaus Moeglichkeiten die umask fuer die Session eines
> Nutzers (GECOS) oder die Sessions aller Nutzer (login.defs, /etc/limits)
> zu definieren.
> Ich wuerd aber trotzdem /etc/profile nutzen wenn nicht ganz gute Gruende
> dagegen sprechen.
Ich nehme an, von allen aufgeführten Möglichkeiten umask zu setzen, 
gewinnt die zuletzt ausgeführte, und das wäre vermutlich /etc/profile, 
was die anderen Möglichkeiten etwas marginalisiert.

Gruss

Cyrill





Mehr Informationen über die Mailingliste lpic