先日、pam_tally.soの記述が二ファイル(loginとsystem-auth)に書かれていることで、ログイン失敗について厳しかったことが発覚した。

本番サーバーではsystem-authに記述していることもあり、開発の各サーバーでもログイン失敗のカウントはloginファイルではなく、system-authファイルに記述することに決めた。

作業は別に何をするわけでもなく、ただ、loginファイルに書かれている

"
auth required /lib/security/$ISA/pam_tally.so onerr=fail no_magic_root
account required /lib/security/$ISA/pam_tally.so per_user deny=3 no_magic_root reset
"

をsystem-authに書き写すだけ。

作業終了後、念のため動作確認をしてみた。telnetで接続し、わざと3回間違えてアカウントがロックされるかどうかを確認する。

RHEL3とRHEL4とで動作が違うことに気がついた。

RHEL3では、"deny=3"と設定すると「3回の間違いまでは許します」という動きに対し、
RHEL4では、"deny=3"と設定すると「3回失敗するとロックします」という動きだった。

当環境の詳細なバージョンは下記の通り
RHEL3(2.4.21-20)
pam(0.75)

RHEL4(2.6.9-43)
pam(0.77)

でも、"/usr/share/doc/pam-<version>/txts/README.pam_tally"に違いはないんだよなぁ・・・