Ist es möglich, Dateien standardmäßig für den Eigentümer ausführbar zu machen?

Ist es möglich, Dateien standardmäßig für den Eigentümer ausführbar zu machen?

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 umaskSie anwenden, Sie werden nie erhalten 0750. Sogar der Linker, der ausführbare Dateien erstellt, öffnet Ausgabedateien mit mode 0666und chmodsie 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.

verwandte Informationen