이 pam 구성의 인증 부분을 이해하는 데 도움이 됩니다.

이 pam 구성의 인증 부분을 이해하는 데 도움이 됩니다.

나는 이 pam 구성을 상속받아 감사했으며 pam_access도 추가했습니다.

auth pam_succeed_if구체적으로 그리고 선을 이해하려고 노력하고 있어요 auth pam_localuser.

#%PAM-1.0                                                                                 
# This file is auto-generated, but maintained in ansible.                                 
# Changes will be destroyed the next time authconfig is run.                              
                                                                                          
auth        required      pam_env.so                                                      
auth        required      pam_faildelay.so delay=2000000                                  
# vvvvvv                                           
auth        [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 200 quiet       
auth        [default=1 ignore=ignore success=ok] pam_localuser.so 
# ^^^^^^                        
auth        sufficient    pam_unix.so nullok try_first_pass                                                                   
auth        requisite     pam_succeed_if.so uid >= 200 quiet_success                      
auth        sufficient    pam_sss.so forward_pass                                         
auth        required      pam_deny.so                                                     
                                                                                          
account     required      pam_access.so                                                   
account     required      pam_unix.so broken_shadow                                       
account     sufficient    pam_localuser.so                                                
account     sufficient    pam_succeed_if.so uid < 200 quiet                               
account     [default=bad success=ok user_unknown=ignore] pam_sss.so                       
account     required      pam_permit.so                                                   
                                                                                          
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok        
password    sufficient    pam_sss.so use_authtok                                          
password    required      pam_deny.so                                                     
                                                                                          
session     optional      pam_keyinit.so revoke                                           
session     required      pam_limits.so                                                   
-session     optional      pam_systemd.so                                                 
# session     optional      pam_oddjob_mkhomedir.so umask=0077                            
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid   
session     required      pam_unix.so                                                     
session     optional      pam_sss.so   

[...]이 부분, 특히 이 부분이 수행하는 작업에 대한 문서를 찾는 데 어려움을 겪었습니다 default=1. 다음 줄을 건너뛴다는 것이 내 이해입니까?

  • uid가 200보다 크면 OK를 전달하고 계속해서 pam_localuser를 건너뛴 다음 pam_unix를 확인합니다.

  • uid < 200이면 pam_localuser로 이동합니다.

  • pam_localuser에서 true이면 pam_unix를 건너뜁니다. (???괜찮나요???)

이것은 지나치게 복잡해 보이며 이 섹션의 요점이 무엇인지 잘 모르겠습니다.

누군가 의도를 설명할 수 있나요?

답변1

다음에 따라 default규칙을 건너뛰는 양의 정수modules/pam_succeed_if/pam_succeed_if.8.xml리눅스 팜프로젝트:

    <para>
      Given that the type matches, only loads the othermodule rule if
      the UID is over 500. Adjust the number after default to skip
      several rules.
    </para>
    <programlisting>
type [default=1 success=ignore] pam_succeed_if.so quiet uid &gt; 500
type required othermodule.so arguments...
    </programlisting>

default=die다른 작업은 일반적으로 또는 와 같은 텍스트 레이블을 통해 엄격하지 않은 양의 정수입니다. default=ignore이러한 토큰 작업은 에 나열되어 있습니다 libpam/pam_tokens.h.

pam_localuserpam_unix아마도 uid < 200은 비밀번호 해시 등을 통해 인증할 필요가 없는 로컬 시스템 계정이므로 건너뛰었습니다 . 이는 auth규칙의 일부입니다. 일반적으로 이러한 역할 계정에는 false또는 쉘 세트 도 있습니다 nologin.

관련 정보