umask는 응용 프로그램이 파일에 설정할 수없는 권한 세트 역할을합니다. 프로세스 의 파일 모드 작성 마스크 이며 디렉토리 자체에 설정할 수 없습니다. 대부분의 응용 프로그램은 실행 권한이 설정된 파일을 만들지 않으므로 기본값은 666
이며 umask에 의해 수정됩니다.
소유자에 대한 읽기 / 쓰기 비트와 다른 사용자에 대한 읽기 비트를 제거하도록 umask를 설정 했으므로 777
응용 프로그램에서 와 같은 기본값 은 파일 권한이 133
됩니다. 이것은 당신 (그리고 다른 사람들)이 파일을 실행할 수 있고 다른 사람들이 파일에 쓸 수 있음을 의미합니다.
소유자가 아닌 다른 사람이 파일을 읽거나 쓰거나 실행하지 못하게 077
하려면 그룹 및 다른 사람에 대한 해당 권한을 끄는 것과 같은 umask를 사용해야 합니다.
반대로 umask of 000
는 새로 만든 디렉토리를 모든 사람이 읽고 쓸 수 있고 내림차순으로 만들 수 있습니다 (권한은 777
). 이러한 umask는 안전하지 않으므로 umask를로 설정해서는 안됩니다 000
.
Ubuntu의 기본 umask 022
는 새로 만든 파일을 모든 사람이 읽을 수 있지만 소유자 만 쓸 수 있음을 의미합니다.
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-r--r-- 1 user user 0 Apr 1 19:15 new-file-name
Ubuntu Oneiric (11.10)부터 기본 umask가 완화되어 002
소유자 그룹에 대한 쓰기 액세스가 확장되었습니다.
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-rw-r-- 1 user user 0 Apr 1 19:15 new-file-name
umask보기 및 수정
현재 umask 설정을 보려면 터미널을 열고 다음 명령을 실행하십시오.
umask
현재 쉘의 umask 설정을 077과 같은 다른 것으로 변경하려면 다음을 실행하십시오.
umask 077
이 설정이 작동하는지 테스트하려면 새 파일을 작성하고 (기존 파일의 파일 권한에 영향을 미치지 않음) 파일에 대한 정보를 표시하십시오.
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw------- 1 user user 0 Apr 1 19:14 new-file-name
umask 설정은 동일한 쉘에서 시작된 프로세스에 의해 상속됩니다. 예를 들어, gedit
터미널에서 실행하여 텍스트 편집기 GEdit을 시작하고 gedit를 사용하여 파일을 저장하십시오. 새로 만든 파일은 터미널에서와 동일한 umask 설정의 영향을받습니다.
사용 사례 : 다중 사용자 시스템
여러 사용자가 공유하는 시스템에있는 경우 다른 사용자가 홈 디렉토리의 파일을 읽을 수 없도록하는 것이 좋습니다. 이를 위해 umask는 매우 유용합니다. 다음을 사용 ~/.profile
하여 새 줄을 편집 하고 추가 하십시오 .
umask 007
이 umask 변경 사항을 ~/.profile
적용 하려면 다시 로그인 해야합니다. 다음으로, 월드의 읽기, 쓰기 및 실행 비트를 제거하여 홈 디렉토리에있는 파일의 기존 파일 권한을 변경해야합니다. 터미널을 열고 다음 을 실행하십시오.
chmod -R o-rwx ~
이 umask 설정을 시스템의 모든 사용자에게 적용하려면에서 시스템 전체 프로파일 파일을 편집하십시오 /etc/profile
.
app_mode 666 rw- rw- rw-
umask 644 --0 -00 -00
file_mode 022 --- -w- -w-