Re: "umask" ist unlogisch?!

From: Oliver Fromme <olli(at)secnetix.de>
Date: Fri, 4 Apr 2003 22:52:17 +0200 (CEST)

Oliver Lehmann <lehmann(at)ans-netz.de> wrote:
> Mir war einfach nicht klar, das Programme die Dateien erzeugen dies mit
> modes tun die programmspezifisch sind, und diese dann erst mit umask nach
> deren negierung verknuepft werden. Ich nam an, umask seien die negierten
> modes. Ohne eine erneute Verknuepfung mit den "default" modes des
> Programmes.

Dann wäre es ja keine Bitmaske und würde nicht umask heißen
(sondern »defmodes« oder sonstwie). Eine Maske ist nunmal
eine Maske.

Stell es Dir so vor: Das Programm (touch, vi, cc) gibt
ein bestimmts Bitmuster für die Modes vor (meistens 0666
oder 0777). Jetzt hältst Du Deine Maske (umask) davor:
überall dort, wo in der Maske eine Eins ist, verschwindet
das Mode-Bit. Binär betrachtet:

0666 --> 000 110 110 110 (Modes von touch, vi, ...)
0022 --> * * (umask)
Ergebnis:
0644 --> 000 110 100 100

Ich habe bei der umask mal »*« statt »1« geschrieben und
die Nullen weggelassen, damit man sieht, daß es wirklich
eine Maske ist: Überall, wo ein »*« ist, kommt das Bit
von den Modes »nicht durch«, d.h. es kommt eine Null bei
heraus. An anderen Stellen wird das Bit unverändert durch-
gelassen. Wo schon eine Null ist, bleibt die natürlich.

Genau so funktioniert eine Bitmaske, und genau das tut
umask.

Alle Klarheiten beseitigt? :-)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"In jedem Stück Kohle wartet ein Diamant auf seine Geburt."
         -- Terry Pratchett
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 04 Apr 2003 - 22:52:22 CEST

search this site