Hallo, On Sun, 05 Jan 2003, Bernd Brodesser wrote:
* David Haller schrieb am 04.Jan.2003:
On Sat, 04 Jan 2003, Bernd Brodesser wrote:
mit dem vi anlegt, hat aber keine Ausführrechte, so daß zu der umask noch 111 hinzuaddiert wird. Dadurch bekommt die Datei das Recht 644.
Nicht ganz, vi (oder sonst ein Programm) legt Dateien mit den Rechten 666 oder 777 an. Dieser Wert wird dann mit dem Komplement der umask logisch "ver-und-et". Im Endeffekt hat das in den meisten Faellen die Wirkung einer subtraktion: 666 - 022 = 644, 777 - 027 = 750.
Schon klar. 644 war ja das Beispiel, daß ich gewählt habe. Und das mit dem logischen und ist auch klar. Um so mehr verwundert es, daß bei umask das binäre Komplement der Rechte genommen wurde.
Das liegt an der Aufgabe, die umask erfuellen soll! Und das geht AFAIK nur so (oder noch kraenker). Ich weiss grad nicht mehr aus welcher manpage ich das habe, aber Dateien sollen ja via 'open(name, flags, mode)' erzeugt werden, wobei mode das *Maximum* der gewuenschten Rechte ist, also eben 666 fuer normale Dateien und 777 fuer ausfuehrbare. Nur, wie kommt man z.B. in allen Faellen 666, 640, 622, 777, 750 z.B. auf die "richtigen" Rechte, z.B. bei einer umask von 022? Die einzige Alternative waere IMO die umask direkt als Komplement zu definieren, aber das ist wiederum noch weniger intuitiv, wenn man bestimmte Rechte nicht setzen will (z.B. waere eine "umask" von 755 statt 022 doch eher verwirrend, wenn dabei (bei 622) dann 600 rauskommt ;)...
Ist für einen Anfänger nur verwirrend,
Ja. Aber, sorry, es geht wohl nicht besser.
und bringt dem Fortgeschrittenen keinerlei Vorteile.
Doch ;) -dnh -- ? Wie, ich? Fehler zugeben? Das muß ein Mißverständnis sein ;) -- fefe in dasr