답변:
umask
일반적으로 요청 된 권한은이므로 (대부분의 구현에서는) 더 많은 읽기 / 쓰기 권한을 허용하지만 실행 파일은 허용하지 않도록을 수정할 수 있습니다 0666
.
귀하의 경우 umask
입니다 022
, 당신은 볼 수 있습니다 touch
a를 0644
파일을.
흥미롭게도 POSIX 는 다음과 같은 관점에서이 동작을 설명합니다 creat
.
파일이 존재하지 않는 경우 :
를 creat () 함수는 다음 인자로 호출한다 :
파일 피연산자가 경로 인수로 사용됩니다.
비트 단위의 포괄적 인의 값 OR 의
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
, 그리고S_IWOTH
모드 인수로 사용된다.
그리고 creat
, 그 다음에 대한 링크를 따라 가서 그에 영향을 미치는 것으로 확인하기 위해 (및 ) open
언급 umask
및 역 추적에 주목합니다 .open
creat
umask
touch
의 경우 umask
에만 영향을주는 touch
명령을 서브 쉘을 사용합니다 :
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(어쨌든 파일이 이미 존재하면 touch
권한을 변경하지 않고 타임 스탬프 만 업데이트하면됩니다).