기본적으로 파일 소유자를 실행 가능하게 만들 수 있습니까?

기본적으로 파일 소유자를 실행 가능하게 만들 수 있습니까?

umask의 파일 기본 권한이 666인데, 파일을 생성할 때 파일에 750 권한을 갖도록 할 수 있나요?

답변1

일반적으로 말하면 그렇지 않습니다. 거의 모든 프로그램은 호출 open()(또는 creat()그 문제) 에 mode를 사용하므로 무엇을 적용하든 0666결코 umask얻을 수 없습니다 0750. 실행 파일을 생성하는 링커도 출력 파일을 열기 0666전에 mode를 사용하여 엽니다.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

다른 동작을 원하는 경우 원하는 스키마 변경을 수행하려면 고유한 도구를 작성하거나 기존 도구를 둘러싸야 합니다.

관련 정보