6.33. pam_umask - 파일 모드 생성 마스크 설정

pam_umask.so [ debug ] [ silent ] [ usergroups ] [ nousergroups ] [ umask=mask ]

6.33.1. 설명

pam_umask는 현재 환경의 파일 모드 생성 마스크를 설정하는 PAM 모듈이다. 새로 생성되는 파일에 할당되는 기본 권한에 umask가 영향을 준다.

다음 위치에서 차례대로 umask 값을 얻으려고 시도한다.

  • 사용자의 GECOS 필드의 umask= 항목

  • umask= 인자

  • /etc/login.defs의 UMASK 항목

  • /etc/default/login의 UMASK= 항목

GECOS 필드는 ',' 문자로 구분돼 있다. umask= 항목뿐 아니라 pri= 항목을 인식해서 세션의 나이스 우선순위 값을 설정하고, ulimit= 항목을 인식해서 세션 내의 프로세스가 만들 수 있는 파일 최대 크기를 설정한다.

6.33.2. 옵션

debug

디버그 정보 찍기.

silent

정보성 메시지를 찍지 않기.

usergroups

사용자가 root가 아니고 사용자 이름이 주 그룹 이름과 같으면 umask의 그룹 비트를 소유자 비트와 같은 값으로 설정한다. (예: 022 -> 002, 077 -> 007)

nousergroups

위에서 설명한 usergroups 옵션의 반대다. 기본적으로 usergroups가 켜지도록 pam_umask를 컴파일했는데 런타임에 끄고 싶은 경우에 유용할 수 있다.

umask=mask

호출 프로세스의 파일 모드 생성 마스크(umask)를 mask & 0777로 설정한다. 값을 8진수로 해석한다.

6.33.3. 제공하는 모듈 종류

session 타입만 제공한다.

6.33.4. 반환 값

PAM_SUCCESS

새 umask를 성공적으로 설정했다.

PAM_BUF_ERR

메모리 버퍼 오류.

PAM_CONV_ERR

응용에서 제공한 대화 함수에서 사용자명을 얻는 데 실패했다.

PAM_INCOMPLETE

응용에서 제공한 대화 함수에서 PAM_CONV_AGAIN을 반환했다.

PAM_SERVICE_ERR

사용자 이름 알 수 없음.

PAM_USER_UNKNOWN

알 수 없는 사용자.

6.33.5. 예시

다음 행을 /etc/pam.d/login에 추가해서 로그인 시 사용자별 umask를 설정할 수 있다.

        session optional pam_umask.so umask=0022
      

6.33.6. 작성자

Thorsten Kukuk <kukuk@thkukuk.de>이 pam_umask를 작성했다.