Linuxは、ユーザとアプリケーションを仲介するレイヤとしての認証プロセスでPAM (Pluggable Authentication Modules)を使用します。PAMモジュールはシステム単位で使用できるため、どのアプリケーションからもリクエストできます。この章では、モジュラー認証メカニズムの機能とその設定方法について説明します。
通常、システム管理者とプログラマは、システムの一定部分へのアクセスを制限することや、アプリケーションの一定の機能の使用を制限することを望みます。PAMを使用しなければ、新規の認証メカニズム(LDAPやSAMBAなど)が導入されるたびにアプリケーションを調整する必要があります。ただし、このプロセスには時間がかかり、ミスが発生する可能性があります。このような難点を回避する方法の1つは、アプリケーションを認証メカニズムから分離し、認証は集中管理されるモジュールに任せることです。新しい認証方式が必要になった場合は、問題のプログラムで使用できるように適切なPAMモジュールを調整または記述するだけで済みます。
PAMメカニズムに依存するすべてのプログラムについて、ディレクトリ/etc/pam.d/programnameに専用の設定ファイルがあります。これらのファイルでは、認証に使用するPAMモジュールが定義されます。また/etc/securityにはほとんどのPAMモジュール用のグローバル設定ファイルがあり、これらのモジュール(pam_env.conf、pam_pwcheck.conf、pam_unix2.conf、time.confなど)の正確な動作が定義されます。PAMモジュールを使用する各アプリケーションは、実際には一連のPAM関数を呼び出し、各PAM関数は各種設定ファイルの情報を処理して、その結果を呼び出し元のアプリケーションに戻します。