![기본적으로 파일 소유자를 실행 가능하게 만들 수 있습니까?](https://linux55.com/image/97442/%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9C%BC%EB%A1%9C%20%ED%8C%8C%EC%9D%BC%20%EC%86%8C%EC%9C%A0%EC%9E%90%EB%A5%BC%20%EC%8B%A4%ED%96%89%20%EA%B0%80%EB%8A%A5%ED%95%98%EA%B2%8C%20%EB%A7%8C%EB%93%A4%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
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
다른 동작을 원하는 경우 원하는 스키마 변경을 수행하려면 고유한 도구를 작성하거나 기존 도구를 둘러싸야 합니다.