6.37. pam_wheel - wheel 그룹 멤버만 root 접근 허용

pam_wheel.so [ debug ] [ deny ] [ group=name ] [ root_only ] [ trust ] [ use_uid ]

6.37.1. 설명

pam_wheel은 소위 wheel 그룹을 강제할 수 있는 PAM 모듈이다. 따로 인자를 주지 않으면 요청 사용자가 wheel 그룹에 속한 경우에 대상 사용자 접근을 허가한다. 그런 이름의 그룹이 없는 경우에는 그룹 ID가 0인 그룹을 쓴다.

6.37.2. 옵션

debug

디버그 정보 찍기.

deny

인증 동작의 의미를 뒤집는다. 즉 UID 0 접근 권한을 얻으려고 하는 사용자가 wheel 그룹(내지 group 옵션 그룹)에 속해 있으면 접근을 거부한다. 반대로 사용자가 그 그룹에 없으면 PAM_IGNORE를 반환한다. (단 trust도 지정한 경우에는 PAM_SUCCESS를 반환한다.)

group=name

wheel 그룹 내지 GID 0 그룹 대신 name 그룹을 사용해 인증을 수행한다.

root_only

목표 사용자 UID가 0일 때만 wheel 소속 검사를 한다.

trust

사용자가 wheel 그룹에 속해 있으면 pam_wheel 모듈이 PAM_IGNORE 대신 PAM_SUCCESS를 반환한다. (그래서 모듈들을 잘 쌓으면 wheel 멤버가 패스워드 입력 없이 root로 su 하는 게 가능할 수도 있다.)

use_uid

사용 중인 터미널에 연계된 로그인 세션에서 사용자를 얻으려 하지 말고 대신 호출 프로세스의 실제 uid에 대해서 검사를 한다.

6.37.3. 제공하는 모듈 종류

authaccount 모듈 타입을 제공한다.

6.37.4. 반환 값

PAM_AUTH_ERR

인증 실패.

PAM_BUF_ERR

메모리 버퍼 오류.

PAM_IGNORE

PAM 처리부에서 반환 값을 무시해야 함.

PAM_PERM_DENY

권한 거부됨.

PAM_SERVICE_ERR

사용자 이름을 알아낼 수 없음.

PAM_SUCCESS

성공.

PAM_USER_UNKNOWN

알 수 없는 사용자.

6.37.5. 예시

root 계정은 기본적으로 접근권을 얻고 (rootok), wheel 멤버만 root가 될 수 있되 (wheel) root 외 신청자들을 유닉스 방식으로 인증한다.

su      auth     sufficient     pam_rootok.so
su      auth     required       pam_wheel.so
su      auth     required       pam_unix.so
      

6.37.6. 작성자

Cristian Gafton <gafton@redhat.com>이 pam_wheel을 작성했다.