6.20. pam_motd - motd 파일 표시

pam_motd.so [ motd=/path/filename ] [ motd_dir=/path/dirname.d ]

6.20.1. 설명

pam_motd는 로그인 성공 후 임의의 motd(message of the day, 오늘의 메시지) 파일을 표시할 수 있는 PAM 모듈이다. 기본적으로 다음 위치의 파일들을 보여 준다.

/etc/motd
/run/motd
/usr/lib/motd
/etc/motd.d/
/run/motd.d/
/usr/lib/motd.d/

각 메시지 크기가 64KB로 제한돼 있다.

/etc/motd가 존재하지 않으면 /run/motd를 보여 준다. /run/motd가 존재하지 않으면 /usr/lib/motd를 보여 준다.

비슷한 동작이 디렉터리에도 적용된다. /etc/motd.d/의 파일이 /run/motd.d//usr/lib/motd.d/에 있는 같은 이름의 파일에 우선한다. /run/motd.d/의 파일이 /usr/lib/motd.d/에 있는 같은 이름의 파일에 우선한다.

위 디렉터리들에 있는 파일들은 이름 사전 순서로 표시된다. 그리고 시스템에서 인증 중인 대상 사용자의 크리덴셜로 읽어서 실패한 파일을 걸러낸다.

메시지를 끄고 싶으면 /dev/null을 가리키는 심볼릭 링크를 끄려는 메시지와 같은 파일 이름으로 /etc/motd.d에 두면 된다. 예를 들어 다음처럼 심볼릭 링크를 만들어서 /usr/lib/motd.d/my_motd를 조용하게 만들 수 있다.

ln -s /dev/null /etc/motd.d/my_motd

motd 파일들을 보여 준 다음에 환경 변수 MOTD_SHOWN=pam를 설정한다. 파일들을 모두 심볼릭 링크로 끄더라도 설정한다.

6.20.2. 옵션

motd=/path/filename

/path/filename 파일을 오늘의 메시지로 표시한다. 시도할 경로들을 콜론으로 구별해서 여러 개 지정할 수 있다. 기본적으로 이 옵션은 /etc/motd:/run/motd:/usr/lib/motd로 설정돼 있다.

motd_dir=/path/dirname.d

/path/dirname.d 디렉터리를 훑어서 그 안의 각 파일을 표시한다. 훑을 디렉터리들을 콜론으로 구별해서 여러 개 지정할 수 있다. 기본적으로 이 옵션은 /etc/motd.d:/run/motd.d:/usr/lib/motd.d로 설정돼 있다.

아무 옵션도 주지 않으면 두 옵션 모두에 기본 동작이 적용된다. 어느 한 옵션이라도 지정하면 두 옵션 모두에 기본 동작이 꺼진다.

6.20.3. 제공하는 모듈 종류

session 모듈 타입만 제공한다.

6.20.4. 반환 값

PAM_ABORT

관련 데이터나 옵션을 모두 얻지 못했다.

PAM_BUF_ERR

메모리 버퍼 오류.

PAM_IGNORE

이 모듈의 기본 반환 값이다.

6.20.5. 예시

/etc/pam.d/login 사용법:

session  optional  pam_motd.so
      

다른 위치의 motd 파일 사용하기:

session  optional  pam_motd.so motd=/elsewhere/motd
      

다른 곳의 motd 파일 및 .d 디렉터리 사용하기:

session  optional  pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d
      

6.20.6. 작성자

Ben Collins <bcollins@debian.org>가 pam_motd를 작성했다.

Allison Karlitskaya <allison.karlitskaya@redhat.com>가 motd_dir= 옵션을 추가했다.