brunch

You can make anything
by writing

C.S.Lewis

by Younggi Seo Sep 17. 2019

PluggableAuthenticationModule

LINUX Intergration Authentication System

Linux-PAM is a system of libraries that handle the authentication tasks of applications(services) on the system. 리눅스 PAM은 애플리케이션(서비스)의 인증 작업을 다루기 위한 라이브러리들의 시스템이다.  


The library provides a stable general interface (Application Programming Interface - API) that privilege granting programs (such as login(1) and su(1)) defer to perform standard authentication tasks. 이 라이브러리는 일반적으로 login이나 su와 같은 권한 부여 프로그램과 같이 인증 작업을 수행하는 안정적인 표준 API(애플리케이션 프로그래밍 인터페이스)를 따른다.


The principal feature of the PAM approach is that the nature of the authentication is dynamically configurable. PAM 접근 기능의 원리는 인증 설정을 동적으로 할 수 있는 성질을 지니고 있다는 것이다. <-DAC(Discretionary Access Control) 임의적 접근 권한 부여 모델(-역주)


In other words, the system administrator is free to choose how individual service-providing applications will authenticate users. 달리 말하면, 시스템 관리자는 서비스 제공 애플리케이션을 각 사용자에게 사용 권한에 대한 인증을 어떻게 부여할 것인가에 대한 선택으로부터 자유로워진다는 것이다.


This dynamic configuration is set by the contents of the single Linux-PAM configuration file /etc/pam.conf. 이 동적 설정 파일들은 리눅스 PAM 설정 파일 (/etc/pam.d/* -역주) 내에 있다.


Alternatively, the configuration can be set by individual configuration files located in the /etc/pam.d/ directory. 대안적으로 그 설정은 PAM의 각각의 설정 파일이 위치한 (/etc/pam.d/) 디렉터리 내에서 세팅이 가능하다.


The presence of this directory will cause Linux-PAM to ignore /etc/pam.conf. 이 디렉터리에 있는 파일들은 /etc/pam.conf(/etc/pam.d/*)의 설정을 건너뛰게 할 수도 있다.


From the point of view of the system administrator, for whom this manual is provided, it is not of primary importance to understand the internal behavior of  the Linux-PAM library. 제공되는 매뉴얼을 보는 시스템 관리자에게는 리눅스 PAM 라이브러리의 내부적 절차에 대한 큰 이해도는 필요 없다.


The important point to recognize is that the configuration file(s) define the connection between applications (services) and the pluggable authentication modules (PAMs) that perform the actual authentication tasks. 다만, PAM 모듈을 통한 실질적인 인증 작업의 수행과 서비스를 연동하기 위한 세팅 파일들의 설정을 인지하는 게 중요하다.       


Linux-PAM separates the tasks of authentication into four independent management groups: account management; authentication management; password management; and session management. (We highlight the abbreviations used for these groups in the configuration file.)

리눅스 PAM은 인증 작업을 네 가지 독립된 관리 도메인으로 나뉜다. 계정 관리, 인증 관리, 패스워드 관리, 그리고 세션 관리이다. (우리는 설정 파일에서 이러한 그룹을 사용하기 위한 약어를 강조한다.)


Simply put, these groups take care of different aspects of a typical users request for a restricted service: 간단히 말하면 이러한 설정 도메인들은 전형적인 사용자들에게 제한된 특정 서비스 사용 권한 부여를 요청하는데 다른 양상(RBAC에서 role에 해당하는 개념 - 역주)으로 관리한다.


1) account - provide account verification types of service: has the user's password expired; is this user permitted access to the requested service?

       

2) authentication - authenticate a user and set up user credentials. Typically this is via some challenge-response request that the user must satisfy: if you are who you claim to be please enter your password. Not all authentications are of this type, there exist hardware based authentication schemes (such as the use of smart-cards and biometric devices), with suitable modules, these may be substituted seamlessly for more standard approaches to authentication - such is the flexibility of Linux-PAM.


3) password - this group's responsibility is the task of updating authentication mechanisms. Typically, such services are strongly coupled to those of the auth group. Some authentication mechanisms lend themselves well to being updated with such a function. Standard UNIX password-based access is the obvious example: please enter a replacement password.

       

4) session - this group of tasks cover things that should be done prior to a service being given and after it is withdrawn. Such tasks include the maintenance of audit trails and the mounting of the user's home directory. The session management group is important as it provides both an opening and closing hook for modules to affect the services available to a user.


FILES

       /etc/pam.d/*

           the configuration file

       /etc/pam.d/

           the Linux-PAM configuration directory. Generally, if this directory is present,

           the /etc/pam.conf file is ignored.

ERRORS

       Typically errors generated by the Linux-PAM system of libraries, will be written to

       syslog(3).

CONFORMING TO

       DCE-RFC 86.0, October 1995. Contains additional features, but remains backwardly

       compatible with this RFC.

SEE ALSO

       pam(3), pam_authenticate(3), pam_sm_setcred(3), pam_strerror(3), PAM(8)




Select from:

From CentOS 6.5 Manual(# man pam)

Linux-PAM Manual                  03/02/2009                            PAM(8)

매거진의 이전글 클라우드 보안
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari