이전 방식은 사용자 인증이 필요할경우 /etc/passwd를 읽었다. 그리고 사용자패스워드를 변경할 때도 /etc/passwd를 편집했다. 그러나 이런 방법은 MD5와 shadow password가 유행하면서 사용자 인증을 필요로 하는 각각의 프로그램이 적절한 정보를 얻는 방법을 알아야했다. 사용자인증방법이 변경될경우 새로 컴파일 해야하는 문제가 발생. PAM은 사용자정보의 저장방법에 관계없이 모든 프로그램들이 사용자인증을 통일 시키므로서 편리성을 제공한다.
PAM을 사용하면 여러분들의 패스워드가 /etc/passwd 에 저장되었든지 또는 홍콩의 서버에 저장되었든지 중요하지 않다. 프로그램이 사용자 인증을 필요로 하면, PAM이 적절한 인증방법에 대한 함수를 포함하는 라이브러리를 제공한다. 이 라이브러리는 동적으로 할 당되기 때문에 인증스킴을 변경하는 것은 간단히 구성파일을 편집하면 된다.
PAM 구성파일
/etc/pam.d 또는 /etc/pam.conf
http://wiki.kldp.org/HOWTO/html/User-Authentication-HOWTO/x106.html
플래그 |
내용 |
required |
같은 라인에 명시된 성공이 필수적임을 나타내는 컨트롤 플래그이다. 모듈이 실패할 경우 인증은 실패하게 된다. 하지만 다른 모듈이 있는 경우 PAM은 계속해서 그 모듈과 작업할 수 있다. 이 컨트롤 플래그는 사용자 인증 과정에서 어떤 부분이 실패했는지 추적하지 못하도록 하기 위해 사용된다. |
requisite |
이 컨트롤 플래그가 사용되면, PAM 라이브러리가 실패 응답을 받자마자 인증절차가 중단된다. |
sufficient |
이 컨트롤 플래그가 사용되고, 성공이라는 응답을 받으면 인증이 완료된 것으로 간주된다. 즉 설정 파일 내의 다른 모듈과의 작업이 필요없다. |
optional |
이 컨트롤 플래그는 거의 사용되지 않는다. 모듈의 성공/실패 응당을 중시하지 않는다. |
'시스템 > linux' 카테고리의 다른 글
해당 사용자 바로 차단 (0) | 2011.04.12 |
---|---|
쉘 (Shell) (0) | 2011.03.05 |
리눅스 디렉토리 구조 (0) | 2011.03.03 |
페도라 미러 서버 설정 파일 (0) | 2011.03.03 |
init, inittab 시스템 초기화 프로세스 (0) | 2011.03.01 |