私はDebian 8を使用していますが、パスワードを入力するとsu
プロンプトが一度だけ表示されます。間違ったパスワードを入力すると、再試行してすぐに再入力を開始したいのですが、パスワードの一部がシェルに表示されます。
+を使用してキャンセルするsu
までパスワードを再度尋ねるように設定するにはどうすればよいですか?CtrlC
/etc/sudoers
、、、/etc/pam.d/*
を見ようとしたところ/etc/login.defs
、unix.SEの問題残念ながら、これは不完全です。
ベストアンサー1
これらのPAM
モジュールは、あなたのニーズにほぼ正確に合わせることができる柔軟性レベルを提供します。コメントに残した回答に基づいて、失敗する前に3回の試みを許可しますsu
。これが私がここで提案するものです。
私は強くお勧めします変更したすべての構成ファイルをバックアップPAM
し、どこかにルートシェルを開き、破損した変更を元に戻す準備が整いました。変更した後はPAM
、まだログインしてrootアクセス権を取得できるかどうかをテストすることが重要です。間違えれば、システムを完全にフラッシュできます。
これらのPAM
ファイルはに/etc/pam.d
あり、それを変更するにはrootアクセスが必要です。
Debian 8のファイルには、su
認証行と含まれているファイルへの参照が含まれていますcommon-auth
。それらを合わせると次のようになります。
auth sufficient pam_rootok.so
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
興味深いのは、パスワードデータベース(および)に対して認証するpam_unix.so
呼び出しです。このコンポーネントは、モジュールが成功ステータスを返すと、次のN個のモジュールをスキップしたことを通知します。したがって、設定から成功リターンを受け取ると、失敗モジュールはスキップされます。/etc/passwd
/etc/shadow
[success=N]
PAM
pam_unix.so
pam_deny.so
このアプローチを使用して、次のように2回以上認証試行を構築できます。
auth sufficient pam_rootok.so
auth [success=3 default=ignore] pam_unix.so nullok_secure
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
ここまでで作業が完了します。
SAMBAまたは他の外部認証方式を実行している場合は、変更を少し調整する必要があります。私のシステムの1つにはこのような追加のチェックがありますpam_winbind.so
。このアイテムもコピーする必要があるため、ここから始めることができます。
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth requisite pam_deny.so
これに関して:
auth [success=6 default=ignore] pam_unix.so nullok_secure
auth [success=5 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth [success=4 default=ignore] pam_unix.so nullok_secure
auth [success=3 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth requisite pam_deny.so