PAMのパスワード要件を無効または変更するにはどうすればよいですか?


9

私は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次のステップです。「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によって読み取られないようで、変更されています。それで...どのようにauthconfigを設定しますか?マニュアルはを提案system-config-authenticationしていますが、これは私がインストールし、pam_pwqualityを無効にするチェックボックスに似たものは何も提供していません。マニュアルからの次の提案はコマンドラインオプションです。すごい!コマンドラインツールが大好きです。ただ、文書化されたコマンドラインオプションはいずれもpam_pwqualityを無効にしません。

pwquality.conf

アーロンの答えのおかげで、私は、Fedora前に数年を作ることを決めたことを知ったのconfigureパスワードの品質要件に場所を。残念ながら、ファイルとに記載されているように、(1)辞書のチェックを無効にする方法はありません。(2)許可されるパスワードの長さを6未満に設定することはできません。/etc/security/pwquality.conf man 5 pwquality.conf


それが内部的なものである場合、なぜPamがインストールされているか、有効になっているのですか
ラムハウンド2013

1
fedoraにはpamが蔓延しているため、@ Ramhound。yum remove pam依存するパッケージをすべてスクロールするのにかかる時間までにわかる限り、すべてを削除します。yumとsystemdを含みます。また、サンドペーパーを使いたいだけだと思う​​と、pamを無効にするのは大槌のようなものです。
djeikyb 2013

回答:


4

/usr/sbin/authconfigand のソースコードをざっと見て/usr/share/authconfig/authinfo.py

  • マニュアルページは不完全です。スクリプトが受け入れるオプションの完全なリストは authconfig --help
  • pwquality自体を除いて/etc/security/pwquality.confすべてをコマンドラインでオーバーライドできます(パスワードの最小長などの設定も含む)。私見、これはバグであり、報告する必要があります。
  • authinfo.py2489行目と2156行目から:

    def read(self):
      self.readSysconfig()
      ...
      self.readPAM(ref)
      ...

    最初のreadSysconfig読み取り/etc/sysconfig/authconfig; 次に、あなたがそこに置いたreadPAMものは中にあるもので上書きされます/etc/pam.d/*(特にpassword_auth*and 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/*


編集: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つが選択されます。最初のバグと組み合わせると、これを無効にすることができなくなります。


2年後の
fedora

2

system-authファイルを手動で制御できます。新しいファイルを作成し(最初にをコピーすることもできますsystem-auth-ac)、system-auth新しいファイルを指すようにシンボリックリンクを変更します。

これにより、authconfigがシンボリックリンクまたはそれが指すファイルにアクセスしなくなるため、PAM設定のこの部分を更新する必要があります。ただし、authconfigは引き続きsystem-auth-acファイルを更新するため、必要に応じて参照として引き続き使用できます。多少の賢さがあればinclude、ローカルコピーに組み込むこともできますが、その方法はこの質問の範囲を超えています。

また、などの他のシンボリックリンクも確認する必要がありpassword-authます。それらに同じ処置を与える必要があるかもしれません。


以下からのauthconfig(8)manページ、下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はそれをそのままにします。


1

それは構成可能であるように見えます /etc/security/pwquality.conf

出典:https : //fedoraproject.org/wiki/Features/PasswordQualityChecking


ありがとう、まだ見ていませんでした。残念ながら、pwquality.confは辞書チェックの無効化またはパスワード長チェックの無効化をサポートしていません。
djeikyb 2013

多分この投稿の提案はうまくいくでしょうか?serverfault.com/questions/444258/…–
アーロン岡野

つまり、system-authからモジュールを削除し、USEPWQUALITY = noを設定して、authconfig --updateを実行します。
アーロン岡野

残念ながら(質問で述べたように)、実行authconfig --updateallするとファイルがリセットされます。それが私が観察している行動と直接矛盾するので、私はその答えに完全に当惑しています。
djeikyb 2013

私もちょうど設定、注意しなければならないUSEPWQUALITY=noおよび/またはUSECRACKLIB=noさえにauthconfigを実行する前に、いずれかの私の問題を解決していません。
djeikyb 2013

1

コマンドラインから変更することもできます。警告が表示されますが、短すぎるパスワードや、複雑さのルールを満たさないパスワードを設定できます。


これは絶対にFedora 19での行動Iの経験ではありません
djeikyb

実行@djeikyb passwd <username>のいずれかで(rootとしてコマンドをsudo passwd <username>以降にsu -ルート端末へ。
ニック・

@Nick pamのパスワード要件を無効にしたり変更したりしません。
djeikyb 2013

@djeikyb要件は変更されませんが、バイパスされます。passwdrootとして実行すると、パスワードポリシーは無視されます。一度設定してそれを忘れてしまえば、それでうまくいきます。各ユーザーが自分のパスワードを自由に変更できるように設定しようとしている場合は、別のソリューションが必要です。
Nick

@Nickなるほど。はい、rootはpasswdpamによってfdされることなく使用できます。実際の質問とはほとんど関係ありませんが、この「答え」の主張は真実です。
djeikyb 2013

0

私は関連する検索に基づいてこの質問を見つけました。私はあなたに答えがあると思います。

Fedoraはauthconfigが生成したファイルへのシンボリックリンクを作成します。すなわち。 system-authへのリンクsystem-auth-acsystem-auth独自のファイルを作成した場合、理論的には、によって行われる今後の変更はすべてauth-config更新system-auth-acされますが、変更されたファイルは変更されません。

それは実際には非常にエレガント*-acですが、ファイルが何をしたのか疑問に思ったときにだけそれを発見しました。


これは機能しません。authconfig(例authconfig --updateall:)の次の実行でファイルが削除され、ファイルにシンボリックリンクされ-acます。
docwhat 14

@TheDoctorWhatそうですか?管理された構成への簡単なフォールバックでローカルの変更の永続化を許可しないのであれば、なぜ彼らがそのようにするのか私にはあまり意味がありません。しかたがない。
サイクロン

ええ、それも私を混乱させます...ドキュメンテーションはそれについて話していません、そしてソースコードは彼らが誰にとってもすべてのものになりたいと思っていることを説明する長いコメントさえ...非常に迷惑です。
docwhat 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.