umask에 대한 파일 기본 권한이 666이므로 파일 생성 시 750 권한을 갖도록 할 수 있습니까?
답변1
일반적으로 그렇지 않습니다. 사실상 모든 프로그램은 mode 를 사용하여 호출 open()
하므로 무엇을 적용하든 결코 얻을 수 없습니다 . 실행 파일을 생성하는 링커도 모드로 출력 파일을 열고 나중에 엽니다.creat()
0666
umask
0750
0666
chmod
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
다른 동작을 원할 경우 의도한 모드 변경을 수행하는 기존 도구에 대한 자체 도구나 래퍼를 작성해야 합니다.