PAMを使用してユーザーのログインを認証します
からの情報- http://linux.die.net/man/8/pam_listfile
linux Red-Hatマシンには、5人のdiffユーザーがいます
user1
user2
user3
user4
user5
最初の3人のユーザーに対してのみsshログインを有効にしたい
そう
ファイルを作成しました
more /etc/logins_users.txt
user1
user2
user3
そして私は/ etc/pam.d/sshdファイルに以下を追加します
auth required pam_listfile.so item=user onerr=fail sense=allow file=/etc/logins_user.txt
Sshdサービスを再起動します
しかし、user4とuser5は、それにもかかわらずLinuxマシンにアクセスできますlogins_users.txtファイルで定義されていません
私の構成の何が問題になっていますか?
user4およびuser5がブロックされているにもかかわらず、sshログインアクセスを保持している理由???
構成に問題はありません。
このように/etc/pam.d/sshd
の最初の行に構成を記述します
#%PAM-1.0 auth required pam_listfile.so item = user onerr = failsense = allow file =/etc/logins_user.txt auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account include password-auth password include password-auth #pam_selinux.so closeは、最初のセッションルール セッションが必要pam_selinux.soclose セッションが必要pam_loginuid.so #pam_selinux.so openの後には、ユーザーコンテキストで実行されるセッションのみが続く必要があります セッションが必要pam_selinux.soopen env_params セッションオプションpam_keyinit.so強制取り消し セッションインクルードパスワード-auth
これは、PAMがこれらすべての構成を1行ずつチェックするためです。構成を最後の行に配置すると、条件をチェックする前に他の条件が通過します。そのため、すべてのユーザーがログインできます。これをチェックして私に知らせてください。
これを試すときは注意してください
何かを変更する前に、ファイルのバックアップを取ります。
このように構成すると
auth required pam_listfile.so item = user onerr = failsense = allow file =/etc/logins_user.txt auth include password-auth account required pam_nologin.so 。 。 session include password-auth
そして、条件は失敗しますが、PAMは残りのルールをチェックします。
このように構成すると
auth requisite pam_listfile.so item = user onerr = failsense = allow file =/etc/logins_user.txt auth include password-auth account required pam_nologin.so 。 。 session include password-auth
そして、上記の条件が失敗した場合、PAMは残りのルールをチェックしません。
必須
Failure also results in denial of authentication, although PAM will still call all the other modules listed for this service before denying authentication.
必要条件
Failure to authenticate via this module results in immediate denial of authentication.
したがって、あなたの場合、許可を与える条件を下回っている可能性があります
auth include password-auth
Ssh中に正しいパスワードを入力しています。