PAMが初めてログインしたときにのみ条件を確認するにはどうすればよいですか?

PAMが初めてログインしたときにのみ条件を確認するにはどうすればよいですか?

〜のように初めてログインしたときにのみメッセージを表示するようにpam_mountを設定します。ただし、推奨回答はRHEL 9では機能しません(元の質問では機能しないようです)。

Red Hat Enterprise Linux 9 で DUO 2 段階認証プロセスを設定する必要があります。指示するベンダーのウェブサイトの設定により、ユーザーがパスワードを入力するたびに2FAの質問に答えますsudo。たとえば、最初のログイン時にのみ2FAの質問が表示されるようにこの設定を変更したいと思います。

以下を含む行の後に、/etc/authselect/password-authに以下を追加しましたpam_unix.so

auth    [success=1 default=ignore]    pam_succeed_if.so service = systemd-user quiet
auth    sufficient                    pam_duo.so

pam_succeed_if条件は、リンクされた質問とArch Wiki(独自の質問にリンクされている)の両方で提案されます。ただし、pam_succeed_if条件は毎回失敗し、DUOはシステムがロック解除されるたびに2FAを求めるメッセージを表示します。ユーザーがすでにログインしている場合は、DUOを確実にスキップする方法は?

ベストアンサー1

最初のログインでのみ2FA認証を希望する場合は、pam_duo.so最初のログインを処理するサービスのみを参照してください。

注意して次のサービスを明示的に一覧表示できます。はい2FAをスキップできるため、2FAが必要であることを認識していないサービスに誤って2FAがない「穴」を残すことはありません。

ライン

auth    [success=1 default=ignore]    pam_succeed_if.so service = systemd-user quiet

意味: ""service=systemd-user" 条件が一致する場合は、次のauth構成行をスキップし、そうでない場合は、その行がまったく存在しないかのように実行を続行します。

systemd-user2つのサービス(および)などの同様のスキップを提供するには、sudo次の手順を実行できます。

auth    [success=2 default=ignore]    pam_succeed_if.so service = sudo quiet
auth    [success=1 default=ignore]    pam_succeed_if.so service = systemd-user quiet
auth    sufficient                    pam_duo.so

最初の行が一致すると、認証を要求するサービスが既に認識されていることを確認sudoする必要はありませんsystemd-user。したがって、systemd-user確認モジュールとpam_duo.so認証モジュールの2行をスキップします。

2FAなしの認証も許可するにはsu(たとえば)、3行目を追加します。

auth    [success=3 default=ignore]    pam_succeed_if.so service = su quiet
auth    [success=2 default=ignore]    pam_succeed_if.so service = sudo quiet
auth    [success=1 default=ignore]    pam_succeed_if.so service = systemd-user quiet
auth    sufficient                    pam_duo.so

など。

いつものように、PAM設定を変更するときは、次のことをお勧めします。ログアウトしないでください変更をテストした後:SSH接続を介して変更した場合は、最初の接続からログアウトするのではなく、2番目のSSH接続を開いてテストしてください。ローカルで変更する場合は、2番目のターミナルウィンドウを開き、そこからrootとしてログインするか、別の仮想コンソールに切り替えて、同じ方法でテキストモードでログインします。重大な間違いを犯したことがわかった場合は、変更を取り消すためにすでにフルroot権限でログインしているセッションが必要です。

本番システムでは、個人的に最初にログインします。第二誤って「脳より速い指」ログアウトを防ぐために、PAMを変更する前にSSHに接続してルートに切り替えます。

おすすめ記事