Linux-PAM-1.3.0

Linux PAM の概要

Linux PAM パッケージは、プラグイン方式の認証モジュール (Pluggable Authentication Modules) を提供します。 これはローカルのシステム管理者が、各アプリケーションに対してどのユーザーにどのような権限を与えるかを制御する有用な機能です。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

  • ダウンロード (HTTP): http://linux-pam.org/library/Linux-PAM-1.3.0.tar.bz2

  • ダウンロード MD5 sum: da4b2289b7cfb19583d54e9eaaef1c3a

  • ダウンロードサイズ: 1.3 MB

  • 必要ディスク容量: 28 MB (with tests)

  • 概算ビルド時間: 0.5 SBU (with tests)

追加のダウンロード

任意のドキュメント

Linux PAM の依存パッケージ

任意

Berkeley DB-5.3.28, CrackLib-2.9.6, libtirpc-1.1.4, Prelude

任意 (ドキュメント再生成時)

docbook-xml-4.5, docbook-xsl-1.79.2, fop-2.3, libxslt-1.1.32 and either w3m-0.5.3 or elinks (but with a link calling it 'links') and remove the documentation switch.

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/linux-pam

Linux PAM のインストール

ドキュメントをダウンロードしている場合は、以下のコマンドを実行して tarball を解凍します。

tar -xf ../Linux-PAM-1.2.0-docs.tar.bz2 --strip-components=1

以下のコマンドを実行して Linux-PAM をビルドします。

./configure --prefix=/usr                    \
            --sysconfdir=/etc                \
            --libdir=/usr/lib                \
            --disable-regenerate-docu        \
            --enable-securedir=/lib/security \
            --docdir=/usr/share/doc/Linux-PAM-1.3.0 &&
make

コンパイル結果をテストするには、設定ファイル /etc/pam.d/other が適切に用意されていなければなりません。

[注意]

Reinstallation or upgrade of Linux PAM

If you have a system with Linux PAM installed and working, be careful when modifying the files in /etc/pam.d, since your system may become totally unusable. If you want to run the tests, you do not need to create another /etc/pam.d/other file. The installed one can be used for that purpose.

You should also be aware that make install overwrites the configuration files in /etc/security as well as /etc/environment. In case you have modified those files, be sure to back them up.

For a first installation, create the configuration file by issuing the following commands as the root user:

install -v -m755 -d /etc/pam.d &&

cat > /etc/pam.d/other << "EOF"
auth     required       pam_deny.so
account  required       pam_deny.so
password required       pam_deny.so
session  required       pam_deny.so
EOF

make check によりテストを実行します。 Ensure there are no errors produced by the tests before continuing the installation. Note that the checks are quite long. It may be useful to redirect the output to a log file in order to inspect it thoroughly.

Only in case of a first installation, remove the configuration file created earlier by issuing the following command as the root user:

rm -fv /etc/pam.d/*

root ユーザーになって以下を実行します。

make install &&
chmod -v 4755 /sbin/unix_chkpwd &&

for file in pam pam_misc pamc
do
  mv -v /usr/lib/lib${file}.so.* /lib &&
  ln -sfv ../../lib/$(readlink /usr/lib/lib${file}.so) /usr/lib/lib${file}.so
done

コマンド説明

--enable-securedir=/lib/security: This switch sets install location for the PAM modules.

--disable-regenerate-docu : This switch prevents this version of the package trying to build its documentation, and failing, if the required dependencies except w3m-0.5.3 are present, but Links-2.16 is present. Remove this switch if you have installed w3m (or elinks, with a link so it can be invoked as 'links').

chmod -v 4755 /sbin/unix_chkpwd: パスワードヘルパープログラム unix_chkpwd に対して setuid を設定します。 root 権限ではないプロセスが shadow ファイルにアクセスできるようにするためです。

Linux-PAM の設定

設定ファイル

/etc/security/*/etc/pam.d/*

設定情報

設定情報は /etc/pam.d/ に保持します。 以下はその例です。

# Begin /etc/pam.d/other

auth            required        pam_unix.so     nullok
account         required        pam_unix.so
session         required        pam_unix.so
password        required        pam_unix.so     nullok

# End /etc/pam.d/other

Now set up some generic files. As root:

install -vdm755 /etc/pam.d &&
cat > /etc/pam.d/system-account << "EOF" &&
# Begin /etc/pam.d/system-account

account   required    pam_unix.so

# End /etc/pam.d/system-account
EOF

cat > /etc/pam.d/system-auth << "EOF" &&
# Begin /etc/pam.d/system-auth

auth      required    pam_unix.so

# End /etc/pam.d/system-auth
EOF

cat > /etc/pam.d/system-session << "EOF"
# Begin /etc/pam.d/system-session

session   required    pam_unix.so

# End /etc/pam.d/system-session
EOF

The remaining generic file depends on whether CrackLib-2.9.6 is installed. If it is installed, use:

cat > /etc/pam.d/system-password << "EOF"
# Begin /etc/pam.d/system-password

# check new passwords for strength (man pam_cracklib)
password  required    pam_cracklib.so   type=Linux retry=3 difok=5 \
                                        difignore=23 minlen=9 dcredit=1 \
                                        ucredit=1 lcredit=1 ocredit=1 \
                                        dictpath=/lib/cracklib/pw_dict
# use sha512 hash for encryption, use shadow, and use the
# authentication token (chosen password) set by pam_cracklib
# above (or any previous modules)
password  required    pam_unix.so       sha512 shadow use_authtok

# End /etc/pam.d/system-password
EOF
[注記]

注記

In its default configuration, pam_cracklib will allow multiple case passwords as short as 6 characters, even with the minlen value set to 11. You should review the pam_cracklib(8) man page and determine if these default values are acceptable for the security of your system.

If CrackLib-2.9.6 is NOT installed, use:

cat > /etc/pam.d/system-password << "EOF"
# Begin /etc/pam.d/system-password

# use sha512 hash for encryption, use shadow, and try to use any previously
# defined authentication token (chosen password) set by any prior module
password  required    pam_unix.so       sha512 shadow try_first_pass

# End /etc/pam.d/system-password
EOF

Now add a restrictive /etc/pam.d/other configuration file. With this file, programs that are PAM aware will not run unless a configuration file specifically for that application is created.

cat > /etc/pam.d/other << "EOF"
# Begin /etc/pam.d/other

auth        required        pam_warn.so
auth        required        pam_deny.so
account     required        pam_warn.so
account     required        pam_deny.so
password    required        pam_warn.so
password    required        pam_deny.so
session     required        pam_warn.so
session     required        pam_deny.so

# End /etc/pam.d/other
EOF

PAM パッケージの Man ページ (man pam) を見れば、各項目と可能な記述内容がよく分かるようになっています。 Linux-PAM システム管理者ガイド (Linux-PAM System Administrators' Guide) を参照して、より詳細な情報を確認してください。

http://debian.securedservers.com/kernel/pub/linux/libs/pam/modules.html には、利用可能なサードパーティー製モジュールの一覧が示されています。

[重要項目]

重要項目

Shadow-4.6 をここで再インストールしてください。

パッケージ構成

インストールプログラム: mkhomedir_helper, pam_tally, pam_tally2, pam_timestamp_check, unix_chkpwd, unix_update
インストールライブラリ: libpam.so, libpamc.so, libpam_misc.so
インストールディレクトリ: /etc/security, /lib/security, /usr/include/security, /usr/share/doc/Linux-PAM-1.3.0

概略説明

mkhomedir_helper

is a helper binary that creates home directories.

pam_tally

ログインカウンターファイルを参照あるいは操作するために利用します。

pam_tally2

is used to interrogate and manipulate the login counter file, but does not have some limitations that pam_tally does.

pam_timestamp_check

is used to check if the default timestamp is valid

unix_chkpwd

is a helper binary that verifies the password of the current user.

unix_update

is a helper binary that updates the password of a given user.

libpam.so

アプリケーションと PAM モジュールの間のインターフェースを提供します。

最終更新日: 2018-08-15 11:39:38 +0900