私はFedora 19を使用しています。デフォルトでは、「password」のような不正なパスワードを無効にするようにpamが設定されています。これはいい。このデフォルトを変更しようとすると腹立たしいです。 これは、インターネットに接続されていない、内部にあるものをテストするためのボックスでもありません。不正なパスワードは、テストプロセスを容易にします。または、パスワードの要件をどのように変更するのですか?
man pam_cracklib
には、さまざまなパスワード要件を設定する優れた例がいくつかあります。だから私は/etc/pam.d/system-auth
、ここには次のような行があります。
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password requisite pam_pwquality.so try_first_pass retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
*ヘッドデスク*。私の経験では、このような警告は、パッケージマネージャーが実行されるたびに、またはランダムに変更がワイプされることを意味します。
だから...authconfig
は次のステップです。 「authconfig」という名前のすべてのファイルを探します。 /etc/sysconfig/authconfig
は有望に見えます。そして、気まぐれで私の編集を破壊することについて上部に警告はありません。この行を見つけるUSEPWQUALITY=yes
と変更します。今私は実行します:
# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>
wtf。だから読みましょうman authconfig
少し近づきました。ああ!そのファイルはauthconfigによってreadされていないようです、それはchangedです。だから... authconfigをどのように設定しますか?マニュアルはsystem-config-authentication
、私がインストールし、pam_pwqualityを無効にするチェックボックスに似たものを何も提供していません。マニュアルからの次の提案は、コマンドラインオプションです。すごい!コマンドラインツールが大好きです。ただ、文書化されたコマンドラインオプションはいずれもpam_pwqualityを無効にしません。
Aaronの回答のおかげで、数年前にFedoraが/etc/security/pwquality.conf
theパスワードの品質要件を構成する場所。残念ながら、ファイルとman 5 pwquality.conf
、そこには(1)辞書のチェックを無効にする方法がなく、(2)許可されたパスワードの長さを6未満に設定できません。
/usr/sbin/authconfig
と/usr/share/authconfig/authinfo.py
のソースコードをざっと見てみます。
authconfig --help
にあります/etc/security/pwquality.conf
設定も)except pwquality自体。私見、これはバグであり、報告する必要があります。authinfo.py
行2489および2156から:
def read(self):
self.readSysconfig()
...
self.readPAM(ref)
...
最初にreadSysconfig
は/etc/sysconfig/authconfig
を読み取ります。次に、そこに置いたものがreadPAM
によって/etc/pam.d/*
内のもの(特にpassword_auth*
およびsystem_auth*
)で上書きされます。
if module.startswith("pam_cracklib") or module.startswith("pam_pwquality"):
self.setParam("enablePWQuality", True, ref)
TL; DR:オーバーライドされない(またはオーバーライドできない)オプションの場合、設定は現在の構成から取得され、自動生成のタグが付けられたファイルが含まれます 。これを機能させるには、/etc/sysconfig/authconfig
を編集しますおよびgrep -E pwq\|crack /etc/pam.d/*
で示される行を削除します
Edit:2番目のバグがあり、上記のアドバイスがまだ機能していません:2248行目:
# Special handling for pam_pwquality and pam_passwdqc: there can be
# only one.
if self.enablePWQuality and self.enablePasswdQC:
self.setParam("enablePasswdQC", False, ref)
if not self.enablePWQuality and not self.enablePasswdQC:
self.setParam("enablePWQuality", True, ref)
品質管理の2つの実装のうち1つを選択する必要があります。そうしないと、1つが選択されます。最初のバグと組み合わせると、これを無効にすることができなくなります。
_system-auth
_ファイルを手動で制御できます。新しいファイルを作成し(_system-auth-ac
_のコピーから開始できます)、新しいファイルを指すように_system-auth
_シンボリックリンクを変更します。
これにより、authconfigがシンボリックリンクまたはそれが指すファイルにアクセスしなくなるため、PAM構成のこの部分を更新する必要があります。ただし、authconfigは引き続き_system-auth-ac
_ファイルを更新するため、必要に応じて参照として引き続き使用できます。多少の賢さがあれば、それをローカルコピーにinclude
することもできますが、その方法はこの質問の範囲を超えています。
_password-auth
_などの他のシンボリックリンクも確認する必要があります。あなたは彼らに同じ扱いをする必要があるかもしれません。
authconfig(8)
マンページのFiles
の下:
_/etc/pam.d/system-auth
Common PAM configuration for system services which include it using
the include directive. It is created as symlink and not relinked if
it points to another file.
/etc/pam.d/system-auth-ac
Contains the actual PAM configuration for system services and is the
default target of the /etc/pam.d/system-auth symlink. If a local
configuration of PAM is created (and symlinked from system-auth
file) this file can be included there.
_
したがって、_system-auth
_がファイルの場合、authconfigはそれを_system-auth-ac
_にリンクするように変更します。ただし、_system-auth
_がシンボリックリンクの場合、authconfigはそれをそのままにします。
/etc/security/pwquality.conf
で設定できるようです
ソース: https://fedoraproject.org/wiki/Features/PasswordQualityChecking
コマンドラインから変更することもできます。警告が表示されますが、短すぎるパスワードや、複雑さのルールを満たさないパスワードを設定できます。
私は関連する検索に基づいてこの質問を見つけました。私はあなたに答えがあると思います。
Fedoraはauthconfigが生成したファイルへのシンボリックリンクを作成します。つまり、system-auth
はsystem-auth-ac
にリンクしています。 system-auth
を独自のファイルにすると、理論的にはauth-config
によって行われる今後の変更はすべてsystem-auth-ac
を更新しますが、変更したファイルは変更しません。
それは実際には非常にエレガントですが、*-ac
ファイルが何をしたのか疑問に思ったときにのみ、それを発見しました。