Danny4
Grünschnabel
Hallo, bis zu einer Prüfung am Montag hoffe ich auf Hilfe.
Das Prinzip von chmod & umask ist mir eugentlich klar. 777 - 022 = 755. Nun habe ich folgenden C-Quelltext:
Nach dem Compilieren und Ausführen habe ich folgende Rechte auf den Dateien:
a.txt: -rwx--x--x
b.txt: -r-x-----x
Das sind für a.txt 711 und für b.txt 501
731 ist ja rwx-wx--x.
Mit der 711 gehe ich noch mit, aber wieso kommt für b.txt 501 raus?
Vielleicht habe ich ja nur einen Balken vorm Kopf. Hoffe das mir jemand schnell helfen kann.
Das Prinzip von chmod & umask ist mir eugentlich klar. 777 - 022 = 755. Nun habe ich folgenden C-Quelltext:
Code:
#include <stdio.h>
int main()
{
umask(022);
int fd1 = creat("a.txt", 0731);
umask(156);
int fd2 = creat("b.txt", 0731);
}
Nach dem Compilieren und Ausführen habe ich folgende Rechte auf den Dateien:
a.txt: -rwx--x--x
b.txt: -r-x-----x
Das sind für a.txt 711 und für b.txt 501
731 ist ja rwx-wx--x.
Mit der 711 gehe ich noch mit, aber wieso kommt für b.txt 501 raus?
Code:
731: rwx -wx --x
022: 000 010 010
----------------
711: rwx --x --x
aber:
731: rwx -wx --x
156: 001 101 110
----------------
621: rw- -w- --x ??? oder doch 501 ???
Vielleicht habe ich ja nur einen Balken vorm Kopf. Hoffe das mir jemand schnell helfen kann.