touch 명령으로 파일 권한을 설정하는 방법


16

touch권한이 있는 파일을 만들 때마다 -rw-r--r-- 로 설정되어있는 것 같습니다 .

권한을 구성 할 수있는 방법 touch이 있습니까? 아니면 다른 명령을 사용하여 수행해야합니까?

답변:


27

umask일반적으로 요청 된 권한은이므로 (대부분의 구현에서는) 더 많은 읽기 / 쓰기 권한을 허용하지만 실행 파일은 허용하지 않도록을 수정할 수 있습니다 0666.

귀하의 경우 umask입니다 022, 당신은 볼 수 있습니다 toucha를 0644파일을.

흥미롭게도 POSIX 는 다음과 같은 관점에서이 동작을 설명합니다 creat.

  1. 파일이 존재하지 않는 경우 :

    를 creat () 함수는 다음 인자로 호출한다 :

    • 파일 피연산자가 경로 인수로 사용됩니다.

    • 비트 단위의 포괄적 인의 값 ORS_IRUSR, S_IWUSR, S_IRGRP, S_IWGRP, S_IROTH, 그리고 S_IWOTH모드 인수로 사용된다.

그리고 creat, 그 다음에 대한 링크를 따라 가서 그에 영향을 미치는 것으로 확인하기 위해 (및 ) open언급 umask및 역 추적에 주목합니다 .opencreatumasktouch

의 경우 umask에만 영향을주는 touch명령을 서브 쉘을 사용합니다 :

(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask

(어쨌든 파일이 이미 존재하면 touch권한을 변경하지 않고 타임 스탬프 만 업데이트하면됩니다).


2

을 조작 할 수 있습니다 umask. 일반적으로 022사용자가 파일을 만들 때의 권한이 부여 되며 필요에 따라 0644조작 할 수 있음 umask을 의미합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.