macOS에서 사용자 설정 umask 설정하기

Mac의 모든 파일 또는 폴더에는 권한 세트가 있습니다. 새 파일 또는 폴더를 생성하면 umask가 이러한 권한 설정을 결정합니다.

권한 및 umask에 관하여

이 지침은 기업 사용자를 위한 것입니다. 파일 권한 및 umask를 수정할 때 주의하십시오. 잘못 설정하면 Mac에 있는 파일, 폴더 또는 앱의 보안 수준이 낮아지거나 일부 앱이 작동하지 않을 수 있습니다.

권한

Mac 시동 디스크나 연결된 볼륨에 저장된 파일, 폴더 및 앱에는 권한 설정이 포함되어 있습니다. 이러한 권한은 파일, 폴더 또는 앱을 읽거나, 쓰거나, 실행할 수 있는 사용자 계정을 결정합니다. 이러한 권한에는 POSIX 권한 및 ACL(접근 제어 목록)이 포함됩니다. 

umask 값을 조정하여 사용자의 POSIX 권한을 더 제한적이거나 덜 제한적으로 설정할 수 있습니다.

umask

파일에 대한 POSIX 권한은 세 자리 숫자로 표시됩니다. 터미널에서 이러한 방식으로 표시되는 권한을 볼 수 있습니다. 각 숫자는 0~7 사이입니다. 파일을 생성할 때 기본값(일반적으로 파일의 경우 666, 폴더의 경우 777)에서 umask 값을 빼서 새 파일 또는 폴더의 권한을 결정합니다.

예를 들어 기본 umask가 022이면 새 파일의 권한은 644, 새 폴더의 권한은 755가 됩니다. 이러한 권한이 있는 그룹 및 다른 사용자는 파일을 읽고 폴더를 열 수 있지만 변경은 소유자만 할 수 있습니다. 

계속 진행하기 전에 umask에 대해 이해해야 합니다. umask를 잘못 설정하면 의도치 않게 파일에 대한 접근 권한을 잃거나 다른 사용자에게 접근 권한을 부여할 수 있습니다. 자세한 내용은 chmod(1) 설명서 페이지의 MODES 섹션을 참조하십시오.

여러 다른 위치에 umask를 설정할 수 있습니다. 위치마다 서로 다른 앱에 영향을 미칩니다.

사용자 응용 프로그램에 대한 umask(macOS High Sierra, macOS Sierra, OS X El Capitan 및 OS X Yosemite)

OS X Yosemite 10.10.3 및 이후 버전에서는 관리자로 로그인하여 터미널에서 다음 명령을 실행합니다.

sudo launchctl config user umask nnn

nnn을 원하는 umask 값(예: 027 또는 002)으로 대체합니다. 이 명령을 실행한 후 Mac을 재시동해야 할 수 있습니다.

이 명령은 Finder, 텍스트 편집기, Final Cut Pro 등 열려 있는 모든 앱이나 명령어 라인에서 접근한 모든 앱에 대해 사용자의 umask를 설정합니다. 또한 이러한 앱에서 생성된 새 파일에 설정된 권한을 제어합니다.

'구성을 쓸 수 없음: 해당 파일 또는 디렉토리 없음' 메시지가 표시되는 경우 /private/var/db/com.apple.xpc.launchd/config 폴더가 있는지 확인합니다. 이 폴더가 없는 경우 다음 명령을 사용하여 폴더를 생성합니다.

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

이 폴더를 생성한 후 sudo launchctl config user umask nnn 명령을 다시 실행합니다. OS X Yosemite에서 umask를 설정하는 방법에 대한 자세한 내용은 man launchctl 명령을 실행하여 알아보십시오.

시스템 프로세스에 대한 umask(OS X Yosemite)

OS X Yosemite 10.10.3 및 이후 버전에서는 관리자로 로그인하여 터미널에서 다음 명령을 실행합니다.

sudo launchctl config system umask nnn

nnn을 원하는 umask 값(예: 027 또는 002)으로 대체합니다. 이 명령을 실행한 후 Mac을 재시동해야 할 수 있습니다.

이 명령은 시스템 컨텍스트에서 실행되는 데몬에 대해 사용자의 umask를 설정합니다. 이 값은 변경하지 않는 것이 좋습니다. 시스템 소프트웨어에서 사용하는 파일의 권한이 변경될 수 있기 때문입니다. 권한을 너무 제한적으로 설정하면 종속 소프트웨어가 작동하지 않을 수 있습니다. 반면에 권한이 너무 개방되어 있으면 보안 문제가 발생할 수 있습니다.

'구성을 쓸 수 없음: 해당 파일 또는 디렉토리 없음' 메시지가 표시되는 경우 /private/var/db/com.apple.xpc.launchd/config 폴더가 있는지 확인합니다. 이 폴더가 없는 경우 다음 명령을 사용하여 폴더를 생성합니다.

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

OS X Yosemite에서 umask를 설정하는 방법에 대한 자세한 내용은 man launchctl 명령을 실행하여 알아보십시오.

사용자 응용 프로그램에 대한 umask(OS X Mavericks 및 이전 버전)

OS X Mavericks 및 이전 버전에서는 umask nnn을 포함하는 /etc/launchd-user.conf 파일을 생성합니다. nnn을 원하는 umask 값(예: 027 또는 002)으로 대체합니다. 이 설정은 Finder, 텍스트 편집기, Final Cut Pro 등 열려 있는 모든 앱에 대해 사용자의 umask를 설정합니다. 또한 이러한 앱에서 생성된 새 파일에 설정된 권한을 제어합니다.

OS X Lion을 사용하는 경우 OS X Lion 10.7.4 및 이후 버전으로 업데이트해야 합니다. 업데이트를 완료하면 Finder에서 생성된 파일과 폴더에 사용자 umask가 적용됩니다.

시스템 프로세스에 대한 umask(OS X Mavericks 및 이전 버전)

OS X Yosemite 이전 버전에서는 umask nnn을 포함하는 /etc/launchd.conf 파일을 생성합니다. nnn을 원하는 umask 값(예: 027 또는 002)으로 대체합니다. 그러면 모든 프로세스에 대해 umask가 설정됩니다. 이 값은 변경하지 않는 것이 좋습니다. 시스템 소프트웨어에서 사용하는 파일의 권한이 변경되기 때문입니다. 권한을 너무 제한적으로 설정하면 종속 소프트웨어가 작동하지 않을 수 있습니다. 반면에 권한이 너무 개방되어 있으면 보안 문제가 발생할 수 있습니다.

특정 LaunchAgent 또는 LaunchDaemon umask

Mac OS X 10.4 및 이후 버전에서 고급 관리자는 특정 LaunchAgent 또는 LaunchDaemon에 대해 별도의 umask를 설정할 수 있습니다. 이렇게 하려면 launchd plist 파일에 umask 값을 추가해야 합니다. 이 설정은 이 프로세스에 대해서만 /etc/launchd.conf 또는 /etc/launchd-user.conf의 umask 설정을 덮어씁니다. 이 옵션에 대한 자세한 내용은 man launchd.plist 명령을 실행하여 알아보십시오.

게시일: