6.19. pam_mkhomedir - 사용자 홈 디렉터리 만들기

pam_mkhomedir.so [ silent ] [ debug ] [ umask=mode ] [ skel=skeldir ]

6.19.1. 설명

pam_mkhomedir은 세션이 시작될 때 사용자 홈 디렉터리가 존재하지 않으면 생성해 주는 PAM 모듈이다. 그래서 분산 파일 시스템을 쓰거나 수많은 디렉터리를 미리 만들어 두지 않고도 사용자들을 (NIS나 커베로스, LDAP 같은) 중앙 데이터베이스에 둘 수 있다. 골격 디렉터리(일반적으로 /etc/skel/)를 사용해 기본 파일들을 복사하며 파일 생성 umask도 설정한다.

새로 생긴 사용자 홈 디렉터리는 사용자가 로그아웃한 후에도 없어지지 않는다.

6.19.2. 옵션

silent

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

debug

syslog(3)를 통한 디버깅을 켠다.

umask=mask

파일 모드 생성 마스크를 mask로 설정한다. 마스크 기본값은 0022다. 이 옵션을 지정하지 않으면 /etc/login.defsHOME_MODE 설정 항목 값을 새로 만드는 사용자 홈 디렉터리 권한으로 설정한다. 그런 설정 항목이 없다면 그 파일의 UMASK 설정 항목 값을 가지고 모드 값을 계산한다. 그 설정 옵션도 없다면 모드에 기본값 0755를 쓴다.

skel=/path/to/skel/directory

/etc/skel 대신 사용할 skel 디렉터리를 지정한다.

6.19.3. 제공하는 모듈 종류

session 모듈 타입만 제공한다.

6.19.4. 반환 값

PAM_BUF_ERR

메모리 버퍼 오류.

PAM_PERM_DENIED

새 디렉터리를 만들거나 skel 디렉터리를 읽기 위한 권한 부족.

PAM_USER_UNKNOWN

기반 인증 모듈에서 사용자를 알 수 없음.

PAM_SUCCESS

성공적으로 동작했음.

6.19.5. 예시

예시 /etc/pam.d/login 파일:

  auth       requisite   pam_securetty.so
  auth       sufficient  pam_ldap.so
  auth       required    pam_unix.so
  auth       required    pam_nologin.so
  account    sufficient  pam_ldap.so
  account    required    pam_unix.so
  password   required    pam_unix.so
  session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
  session    required    pam_unix.so
  session    optional    pam_lastlog.so
  session    optional    pam_mail.so standard
      

6.19.6. 작성자

Jason Gunthorpe <jgg@debian.org>가 pam_mkhomedir을 작성했다.