pam_faillock 모듈을 활성화한 후 로그인할 수 없습니다

pam_faillock 모듈을 활성화한 후 로그인할 수 없습니다

저는 우분투 20.04 LTS를 실행하고 있습니다. pam_faillock파일에 다음 두 줄을 추가하여 모듈을 활성화 했습니다 /etc/pam.d/common-auth.

auth     [default=die]  pam_faillock.so authfail                           
auth     sufficient     pam_faillock.so authsucc

아래에 다음 줄을 추가합니다.

auth  [success=2 default=ignore]   
pam_unix.so nullok

위에:

auth  [success=1 default=ignore]  
psm_sss.so use_first_pass

/etc/pam.d/common-auth내 변경 사항은 아래에 게시되어 있으며 주석 처리되어 있습니다.

# here are the per-package modules (the "Primary" block)
auth    [success=2 default=ignore]  pam_unix.so nullok
#auth    [default=die]               pam_faillock.so authfail
#auth    sufficient                  pam_faillock.so authsucc
auth    [success=1 default=ignore]  pam_sss.so use_first_pass
# here's the fallback if no module succeeds
auth    requisite           pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth    required            pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth    optional            pam_cap.so 
auth    required  pam_faildelay.so delay=4000000
# end of pam-auth-update config

이 줄을 추가한 후 다음 줄의 주석 처리를 제거했습니다./etc/security/faillock.conf

audit
silent
deny = 3
fail_interval = 900
unlock_time = 0

이러한 변경 후 재부팅했고 재부팅 후 로그인을 시도했을 때 비밀번호가 틀렸다는 메시지가 표시되었습니다. (예, 이것이 나쁜 비밀번호가 아니라는 것을 확인했습니다.) 저는 이 분야에서 가장 강력한 사람도 아니고 무엇이 이런 일이 일어날 수 있는지 잘 모르겠습니다.

답변1

나는 귀하의 줄의 주석 처리를 제거하고 현재 정확하다고 생각되는 곳에 배치했습니다. 인증 흐름을 수정하기 위해 다른 한두 줄도 옮겼습니다.

# here are the per-package modules (the "Primary" block)
auth    [success=4 default=ignore]  pam_unix.so nullok
auth    [success=3 default=ignore]  pam_sss.so use_first_pass
auth    [default=die]               pam_faillock.so authfail
auth    required                    pam_faildelay.so delay=4000000
# here's the fallback if no module succeeds
auth    requisite                   pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth    required                    pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth    optional                    pam_cap.so 
auth    sufficient                  pam_faillock.so authsucc
# end of pam-auth-update config

또한 처음 두 auth줄도 변경했습니다. [success=N]PAM에게 성공 시 N 규칙을 건너뛰도록 지시하여 성공은 에서 pam_unix또는 으로 pam_sss점프하고 pam_permit, 실패하면 pam_faillock, pam_faildelay및 로 이동하도록 지시합니다 pam_deny.

pam_faillock아직 설치 하지 않았기 때문에 테스트할 수 없습니다 .따라서 이를 테스트하려면 먼저 시스템에서 루트 셸을 열고 PAM 구성 파일을 변경하는 것 외에는 건드리지 마십시오.

두 번째 터미널 세션을 사용하여 로그인 등을 시도하고 작동하는지 테스트하십시오.

그렇지 않은 경우 변경 사항을 되돌릴 준비가 된 첫 번째 세션을 엽니다. 구성이 올바른지 확실히 확인할 때까지 이 세션을 닫지 마십시오.

관련 정보