openSUSE Leap 16

Pwquality : パスワードルールを設定する2025/12/09

 

[pam_pwquality] を使用したパスワードルールの設定です。

[pam_pwquality] は RHEL / CentOS Stream 最小構成でもデフォルトでインストールされているはずですが、
もしインストールされていない場合は [# dnf install libpwquality] でインストール可能です。

[1] パスワードの有効期限を設定する。
ユーザーは設定した日数以内にパスワードを変更しなければならない。
当設定はアカウント新規作成時のみ有効で、既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -M 日数 ユーザー] で設定する。
dlp:~ #
vi /usr/etc/login.defs
# 148行目 : パスワードの有効期限を設定 (下例は 60 日)

PASS_MAX_DAYS
60
[2] パスワードの最短利用日数を設定する。
ユーザーはパスワードを変更してからこの期間内はパスワードを変更できない。
当設定はアカウント新規作成時のみ有効で、既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -m 日数 ユーザー] で設定する。
dlp:~ #
vi /usr/etc/login.defs
# 149行目 : パスワードの最短利用日数を設定 (下例は 1 日)

PASS_MIN_DAYS
1
[3] パスワードの有効期限が来る前に警告を発する期間の日数を設定する。
当設定はアカウント新規作成時のみ有効で、既存のアカウントには影響しない。
当設定がされていない既存ユーザーに設定する場合は [chage -W 日数 ユーザー] で設定する。
dlp:~ #
vi /usr/etc/login.defs
# 150行目 : パスワードの有効期限が来る前に警告を発する期間の日数を設定 (下例は 7 日)

PASS_WARN_AGE
7
[4] 過去に使用したパスワードの使用を制限する。
ユーザーは設定された世代以内に同じパスワードを再び設定することができない。
# 下例は 8 世代

dlp:~ #
pam-config -a --pwhistory --pwhistory-remember=8
# 以下のファイルに設定される

dlp:~ #
grep history /etc/pam.d/common-password

password required pam_pwhistory.so remember=8
[5] パスワードの最低文字数を設定する。
ユーザーは設定された文字数未満のパスワードは設定できない。
# 下例は 8 文字

dlp:~ #
pam-config -a --pwquality --pwquality-minlen=8
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8
[6] パスワードの最低文字種類数を設定する。(種類 ⇒ 大文字/小文字/数字/特殊文字)
ユーザーは設定された値未満の文字種しか含まれないパスワードは設定できない。
# 下例は 2 種

dlp:~ #
pam-config -a --pwquality --pwquality-minclass=2
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 minclass=2
[7] パスワードの最大連続文字数を設定する。
ユーザーは設定された値を超える連続同一文字が含まれるパスワードは設定できない。
# 下例は 2 文字

dlp:~ #
pam-config -a --pwquality --pwquality-maxrepeat=2
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 minclass=2 maxrepeat=2
[8] パスワードの最大連続文字種類数を設定する。
ユーザーは設定された値を超える連続同一文字種が含まれるパスワードは設定できない。
# 下例は 4 種

dlp:~ #
pam-config -a --pwquality --pwquality-maxclassrepeat=4
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 minclass=2 maxrepeat=2 maxclassrepeat=4
[9] パスワードに小文字が含まれなければならない。
# 下例は 1 文字

dlp:~ #
pam-config -a --pwquality --pwquality-lcredit=-1
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 lcredit=-1 minclass=2 maxrepeat=2 maxclassrepeat=4
[10] パスワードに大文字が含まれなければならない。
# 下例は 1 文字

dlp:~ #
pam-config -a --pwquality --pwquality-ucredit=-1
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 ucredit=-1 lcredit=-1 minclass=2 maxrepeat=2 maxclassrepeat=4
[11] パスワードに数字が含まれなければならない。
# 下例は 1 文字

dlp:~ #
pam-config -a --pwquality --pwquality-dcredit=-1
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 minclass=2 maxrepeat=2 maxclassrepeat=4
[12] パスワードに特殊文字が含まれなければならない。
# 下例は 1 文字

dlp:~ #
pam-config -a --pwquality --pwquality-ocredit=-1
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minclass=2 maxrepeat=2 maxclassrepeat=4
[13] 設定値よりも長い単調な文字列がパスワードに含まれてはならない。
(単調な例 ⇒ '12345', 'fedcb')
# 下例は 2 文字まで許容

dlp:~ #
pam-config -a --pwquality --pwquality-maxsequence=2
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minclass=2 maxrepeat=2 maxsequence=2 maxclassrepeat=4
[14] 変更前のパスワードに含まれる文字が変更後のパスワードに N 文字以上含まれてはならない。
# 下例は 5 文字

dlp:~ #
pam-config -a --pwquality --pwquality-difok=5
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so difok=5 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minclass=2 maxrepeat=2 maxsequence=2 maxclassrepeat=4
[15] /etc/passwd 内の GECOS (コメント) フィールドに含まれる 3文字より長い文字列から成る単語が、パスワードに含まれてはならない。
# 有効に設定

dlp:~ #
pam-config -a --pwquality --pwquality-gecoscheck=1
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so gecoscheck difok=5 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minclass=2 maxrepeat=2 maxsequence=2 maxclassrepeat=4
[16] 指定した文字列がパスワードに含まれてはならない。
# 禁止する単語を指定

dlp:~ #
pam-config -a --pwquality --pwquality-badwords=denywords1
# 以下のファイルに設定される

dlp:~ #
grep pwquality /etc/pam.d/common-password

password requisite pam_pwquality.so gecoscheck difok=5 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minclass=2 maxrepeat=2 maxsequence=2 maxclassrepeat=4 badwords=denywords1
関連コンテンツ