Da die Dateibasisberechtigungen für umask 666 betragen, ist es möglich, einer Datei beim Erstellen 750 Berechtigungen zu geben?
Antwort1
Im Allgemeinen nicht. Nahezu jedes Programm ruft open()
(oder creat()
was das betrifft) mit mode auf 0666
, also was auch immer umask
Sie anwenden, Sie werden nie erhalten 0750
. Sogar der Linker, der ausführbare Dateien erstellt, öffnet Ausgabedateien mit mode 0666
und chmod
sie später:
strace -f -e file gcc bla.c 2>&1 | fgrep a.out
...
[pid 14096] open("a.out", O_RDWR|O_CREAT|O_TRUNC, 0666) = 3
...
[pid 14096] chmod("a.out", 0755) = 0
Wenn Sie ein anderes Verhalten wünschen, müssen Sie eigene Tools oder Wrapper um vorhandene Tools schreiben, die den beabsichtigten Moduswechsel durchführen.