〜のように初めてログインしたときにのみメッセージを表示するように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-user
2つのサービス(および)などの同様のスキップを提供するには、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に接続してルートに切り替えます。