Danny4
14-01-2006, 19:05
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:
#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?
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.
Das Prinzip von chmod & umask ist mir eugentlich klar. 777 - 022 = 755. Nun habe ich folgenden C-Quelltext:
#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?
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.