Re: "umask" ist unlogisch?!

From: Jens Rehsack <rehsack(at)liwing.de>
Date: Fri, 04 Apr 2003 20:19:53 +0200

On 4/4/2003 7:49 PM, Oliver Lehmann wrote:
> Hallo,
>
> umask an sich ist mir klar. Man spezifiziert Rechte (indem man den
> entsprechenden 2^n Wert addiert) welche eine Datei beim anlegen
> nich haben soll. Soweit so gut.
>
> Also gebe ich z.B. 2 an, wenn ich nicht will das die betroffene "Einheit
> (u; g; o)" per default Schreibrecht auf die erstellte Datei hat. 4 wenn
> ich
> nicht will, das die Datei lesbar ist wenn sie angelegt wird. Und nun
> kommen wir zum Knackpunkt. das 1. Bit, das execute-bit. Wiso zum Teufel
> hat meine Datei kein x Bit, egal was ich bei umask einstelle? Wenn ich 0
> spezifiziere, dann doch weil ich _keine_ modes verbiete die eine Datei bei
> der Anlegung haben soll. also eben auch das x Bit. genauer rwx und nicht
> nur rw wie es aber der Fall ist. aktuell verhaellt es sich ja bei Dateien
> so, das 000 == 111 ist, was ja nunmal absolut nicht logisch ist.
>
> olivleh1(at)kartoffel olivleh1> umask 000 && touch qwerty && ls -l qwerty &&
> rm -f qwerty
> -rw-rw-rw- 1 olivleh1 wheel 0 Apr 4 19:37 qwerty
> olivleh1(at)kartoffel olivleh1> umask 111 && touch qwerty && ls -l qwerty &&
> rm -f qwerty
> -rw-rw-rw- 1 olivleh1 wheel 0 Apr 4 19:37 qwerty
> olivleh1(at)kartoffel olivleh1>
>
> bei 000 verbiete ich keine Rechte. Somit kann ich doch erwarten, das jeder
> _alle_ Rechte auf die Datei hat nachdem sie angelegt wurde? Vielleicht
> will ich ja, das alle Dateien die ich anlege per default ausfuehrbar sind?
> Oder weil ich Purist in Sachen Anarchie bin, will ich vielleicht 777 als
> default Dateirechte? wiso zum Teufel verhaellt sich das entgegen der
> "Logik"? Wiso wird dabei zw Verzeichnisse und Dateien unterschieden?
>
> olivleh1(at)kartoffel olivleh1> umask 111 && mkdir asdfg && ls -l |grep asdfg
> && rmdir asdfg
> drw-rw-rw- 2 olivleh1 wheel 512 Apr 4 19:39 asdfg/
> olivleh1(at)kartoffel olivleh1> umask 000 && mkdir asdfg && ls -l | grep
> asdfg && rmdir asdfg
> drwxrwxrwx 2 olivleh1 wheel 512 Apr 4 19:39 asdfg/
>
> Man moege mir das logisch erklaeren und nicht mit dem Punkt kommen "Ja,
> aber per default x Bit auf alle neuen Dateien ist doch unlogisch!" Diese
> Entscheidung soll gefaelligst nicht das OS fuer mich faellen, sondern mir
> diese Entscheidung auferlegen. Und wenn man dann kommt mit "Ja, aber wenn
> du x verbietest wenn du das nicht auf Dateien willst sind deine
> Verzeichnisse 'putt'", haette man sich halt ein anderes Konzept bei der
> Implementierung von umask entwickeln muessen (z.b. getrennte umasks fuer
> files und verz.). Ich mein, es ist ja schon schwer, einem absolutem Newbie
> zu vermitteln, das man bei fehlen des x Bits ("aber das heisst doch
> ausfuehrbar") nicht in ein Verzeichniss wechseln kann, aber dann
> schluessig umask zu erklaeren ist quasi unmoeglich. Etwas wie "ist halt
> so" praegt sich schwerer ein als wenn man eine moeglichst plausible
> Erklaerung liefert ohne "ja, aber da gilt das nicht, und da auch nicht,
> und dabei erst recht nicht".... Ausnahmen sind immer sehr unlogisch (siehe
> natuerliche Sprachen...)

Sorry, aber es nunmal genauso, wie Du es am Anfang dieses Absatzes
selbst schreibst. Ein Execute einer jeden Datei ist unlogisch, denn nur
Dateien mit ausführbarem Inhalt sollten ausführbar sein. Das sind vom
Compiler erzeugte Binaries und Skripte. Der Compiler setzt das x-bit
schon, und der vi tut das für gewöhnlich nicht.

Und nur weil ich
$ echo "Tröööt" >exe.sh
mache, ist die Datei noch lange nicht ausführbar. Das System entscheidet
hier gar nicht, ob der Inhalt ausführbar wäre. Du musst dem System das
explizit mitteilen, ggf. durch chmod(1).

So long,
jens

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 - 20:20:05 CEST

search this site