IT

PAM【LPIC level2】

PAMとは、ユーザ認証を行うためのモジュール群とそのAPIです。OSによるユーザ認証を独立させ、各アプリケーションが使用できる共通部品としてモジュール化したものがPAMです。

つまり PAMとは、認証を一元管理する仕組みのことです。

PAMの設定

PAMの設定ファイルは/etc/pam.dディレクトリに配置されます。

以下は、PAMの設定ファイルの書式です。

モジュールタイプ コントロール モジュール(引数)

モジュールタイプ

モジュールタイプは、その行でモジュールが行う処理の種類を指定します。

以下、モジュールタイプです。

モジュールタイプ説明
authパスワードを使用してユーザー認証を行います。
accountユーザー認証が可能かを確認します。
passwordパスワードの設定と変更を行います。
session認証前後に実行すべき処理を指定します。

コントロール

コントロールは、認証が成功または失敗した時の処理方法を指定します。

コントロール説明
requisiteモジュールの実行に失敗した場合は、すぐに認証を拒否し以降の行のモジュールを実行しません。
requiredモジュールの実行に失敗した場合は、以降の行の同じタイプのモジュールを実行してから認証を拒否します。
つまりユーザー側は、どの段階で認証に失敗したかが分からないため、requisiteより安全性が高まります。
sufficientモジュールの実行に成功した場合は、以前の行のrequiredのモジュールの実行がすべて成功していれば、その時点で認証を許可します。
失敗した場合は、引き続き以降の行のモジュールの実行を続けます。
optionalモジュールの実行に成功または失敗した場合でも、以降の行にあるモジュールの実行を続けます。

モジュール(引数)

使用するモジュールを指定します。

PAMのモジュールは32ビット版は「/lib/security」ディレクトリ配下に、64ビット版は「/lib64/security」ディレクトリ配下に格納されています。

モジュール説明
pam_console.so端末から一般ユーザーでログインした時、管理コマンドやデバイスなどの所有権を一時的に一般ユーザー権限に変更します。
pam_cracklib.soパスワードの書式を制限し、安全性を向上します。
pam_deny.so認証をすべて拒否します。
pam_env.so環境変数を設定します。
pam_ldap.soLDAPを使った認証を行います。
pam_limits.soユーザーが利用するリソースを制限します。
pam_listfile.so任意のファイルを用いてプログラムのアクセス制御を行います。
pam_nologin.so/etc/nologinファイルがある場合、一般ユーザーのログインを拒否します。
pam_securetty.sorootでのログインを「/etc/securetty」ファイルに記述された端末にのみ許可します。
pam_sss.soSSSDを使った認証を行います。
pam_unix.so通常のパスワード認証を行います。
pam_warn.so認証時やパスワードの変更時にログを記録します。
pam_wheel.soroot権限のアクセスをwheelグループのメンバーに制限します。

今回は、PAMの設定についてでした。

最後まで読んで頂き、ありがとうございました。

LPIC level2の他の分野へ移動できる全体ページへは以下リンクからお願いします。