Re: "umask" ist unlogisch?!

From: Oliver Lehmann <lehmann(at)ans-netz.de>
Date: Fri, 4 Apr 2003 21:02:44 +0200

Bernd Walter wrote:

> On Fri, Apr 04, 2003 at 07:49:25PM +0200, Oliver Lehmann wrote:
>
> > 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
>
> Du hast nichts maskiert (000) und 666 erhalten.
> Ist doch OK.

Eben, ich habe nichts maskiert, und somit erwarte ich die vollen rechte
und nicht 666 (was einem umask von 111 entsprechen wuerde das bei umask
000 bei Dateien 666 und nicht 777 rauskommt, liegt halt einfach daran bei
der umask zw. Dateien und Verz. unterschieden wird )

> > 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>
>
> Du hast 111 maskiert und 666 erhalten - ist doch logisch, da kein x bit
> gestetzt war.

Da ist es logisch - natuerlich. Streite ich auch nicht ab. nur das davor
(000 -> 666) ist unlogisch ;)

> Touch erstellt Dateien nur mit 666 - da kannst du soviel x und suid bits
> maskieren, wie du willst.

Touch, oder generell, sollte Dateien so erstellen wie ich ihm das mit
umask einbleue und nicht wie es meint Dateien erstellen zu moechten. Da
kann ich mir umask auch gleich sparren.

> Nein - nur die, die für eine normale Datei normal sind.
> Mit x bits ist es ja keine normale Datei mehr.

Ich will entscheiden was normal ist!

 
> > will ich ja, das alle Dateien die ich anlege per default ausfuehrbar
> > sind?
>
> Warum - die sind es doch erst, wenn auch der Inhalt entsprechend ist.

Technisch sie sind ausfuehrbar wenn ich ein execute bit setze. Dann ist
immer noch unwichtig was in den Dateien steht. Auch wenn es JPEG Daten
sind ist diese theoretisch erstmal ausfuehrbar.

> > 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?
>
> Weil eine Datei eine Datei und ein Verzeichniss ein Verzeichniss ist.
> Die default werte sind bei einem Verzeichniss anders, da das x bit bei
> Verzeichnissen eine andere Bedeutung hat, wie das sticky bit übrigens
> auch.

Ok, aber wenn ich x nicht verbiete, erwarte ich einfach, logisch
schlussfolgernd, das ich das x bit gesetzt bekomme *wiederhol*

> > 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
>
> Es ist nicht unlogisch, sondern unsinnig.

Das kannst du so keinesfalls sagen! Du magst dir keine Situation
vorstellen koennen wo das sinnvoll ist. Aber das bedeutet noch lange nicht
das es so eine Situation nicht geben kann. Ist es nicht leicht engstirnig
zu behaupten das es etwas nicht gibt, nur weil man es sich nicht
vorstellen kann? Gibt es auch kein unendlich? ;)

> Du müßtest ja schon in der Situation sein immer Programme anzulegen und
> niermals Datendateien.
> Schwer vorstellbar.

Schwer vorstellbar mag sein.. Aber vielleicht besteht genau diese
Anforderung? Wiso bevormundet mich UNIX Dort in so einer lapidaren
Angelegenheit?

> So kannst du z.B. als User keine ausführbaren Programme mit suid und
> User root anlegen.
> Du kannst auch nicht die hidden Fileflags setzen, die zwischen
> Directory, Device, Datei und sonstigem unterscheiden.

Das ist glaub ich nicht vergleichbar mit einem "per default x bit fuer
alle Dateien"...

> > 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
>
> Verstehe ich nicht - das x Flag bei Files macht doch nur in Ausnahmen
> Sinn

Was fuer dich Ausnahmen sind, kann fuer andere Bedingungen der Normalfall
sein.

> und ansonsten ist das Verhalten mit Datein und Verzeichnissen doch
> identisch.

bis aufs x bit - ja

> > 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
>
> Nein - das heißt listbar.

okok - was sich fuer einen Laien aber erstmal so darstellt, das er nicht
in das Verzeichniss wechseln kann (weder ein ls um halt was zu listen,
noch mit einem cd).

> > schluessig umask zu erklaeren ist quasi unmoeglich. Etwas wie "ist
> > halt
>
> Verstehe ich nicht eine Maske maskiert - was nicht da ist kann auch
> nicht maskiert werden - wo ist das unschlüssig?

Ich maskiere mit umask das er das x bit nicht nicht setzen soll (ja,
2*nicht), und es ist trozdem nicht gesetzt bei Dateien? Aeusserst
schluessig!

> > 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...)
>
> Ich sehe da keine Ausnahmen.

Die umask unterschiedlich auf die reinen Rechte von Verz. und Dateien
anzuwenden ist in meinen Augen sehr wohl eine "Ausnahme"

Hat schonmal wer von Euch Leuten die 20 Jahre mit OS/390 gearbeitet haben
und die "UNIX" fuer einen Schreibfehler halten Grundlagen der
Shellverarbeitung naeherzubringen um dann dies auf Shellprogrammierung
auszuweiten?

Ich find es ja selber "unlogisch". Klar weiss ich um den Fakt das die
Maske untersch. fuer Dateien und verz. angewand wird. nur dieser "Fakt"
ist halt in sich unlogisch. Ist halt so ;)

  Gruesse, Oliver

-- 
 Oliver Lehmann
        @home: lehmann(at)ans-netz.de
      @office: oliver.lehmann(at)mgi.de
         @www: http://www.pofo.de/  |  http://wishlist.ans-netz.de/
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 - 21:03:04 CEST

search this site