アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。よろしくお願いします。

Red Hat Enterprise Linux 5.3で、/etc/pam.d/system-authに定義されているpam_cracklib.soを使用し、ユーザーに対してパスワード制限を行いたいと考えております。

ここで、「英字大文字(ucredit)2文字、あるいは、英字小文字(lcredit)2文字以上を含む」といったパスワード制限を指定することは可能でしょうか?

「かつ」といった論理演算であれば、以下のようにただ引数をつなげるだけでよいのでしょうが。

============================================
password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-2 lcredit=-2
============================================

上記制限が難しい場合、
/etc/pam.d/system-authを編集する以外に上記のパスワード制限ができる方法があれば、ご教授いただけるとありがたいです。

A 回答 (2件)

No.1の補足です。


私の環境はfedora11ですが、pam_cracklib.soの引数を次のように(マイナスNではなくてプラスN)設定して試すと、今回のケースの場合はOKです。
password requisite pam_cracklib.so try_first_pass retry=3 ucredit=2 lcredit=2

以下の場合のテストケースはすべて適格でした。
ABCDEFGH すべて大文字(大文字が2つ存在する。ucredit=2に該当)
abcdefgh すべて小文字(小文字が2つ存在する。lcredit=2に該当)
ABcdefgh 連続した大文字(大文字が2つ存在する。ucredit=2に該当)
abCDEFGH 連続した小文字(小文字が2つ存在する。lcredit=2に該当)
abcDeFgh 連続していない大文字(大文字が2つ存在する。ucredit=2に該当)
ABCdEfGH 連続していない小文字(小文字が2つ存在する。lcredit=2に該当)

※引数は『あるいは』とか『かつ』とかの組み合わせではなく、それぞれが単独で条件を満たせばいいようです。

※上記を試したsystem-authを添付しておきます。
(system-authのpam_cracklib.soの引数以外は何もいじっていません)

$ cat /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so

account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3 ucredit=2 lcredit=2
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
-----以上です
    • good
    • 0
この回答へのお礼

ありがとうございました。
上記の通りと確認いたしました。

お礼日時:2009/10/19 15:56

例示の設定でOKでしょう。


引数は次の通りです。
retry=N N回まで失敗が許されます。
type=XXX プロンプトに使われる文字列。
difok=N 現在のパスワードと N文字以上異なれば許可。
minlen=N パスワードが N文字以上だと許可。
dcredit=-N 数字が N文字以上含まれていれば許可。
ucredit=-N 大文字が N文字以上含まれていれば許可。
lcredit=-N 小文字が N文字以上含まれていれば許可。
ocredit=-N その他の文字が N文字以上含まれていれば許可。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

引数については、例示していただいた通りだと認識していますが、
ここで不明なのは、「英字大文字(ucredit)2文字、『あるいは』、英字小文字(lcredit)2文字以上を含む」という点です。
パスワードとして、「ABCDEFGH」「abCDEFGH」を設定した場合、どちらとも適格としたいのです(※)。

============================================
password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-2 lcredit=-2
============================================

上記、設定であれば、「英字大文字(ucredit)2文字、『かつ』、英字小文字(lcredit)2文字以上を含む」といった設定になると認識しています。
この場合であれば、「ABCDEFGH」はパスワードとして不適格であり、「abCDEFGH」は適格であるという設定になります。

※実際に上のようなパスワードを指定すると、「BAD PASSWORD: it is too simplistic/systematic」というエラーが発生しますが、ここでは無視してください。

お礼日時:2009/10/15 18:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!