나는 이 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 > 500
type required othermodule.so arguments...
</programlisting>
default=die
다른 작업은 일반적으로 또는 와 같은 텍스트 레이블을 통해 엄격하지 않은 양의 정수입니다. default=ignore
이러한 토큰 작업은 에 나열되어 있습니다 libpam/pam_tokens.h
.
pam_localuser
pam_unix
아마도 uid < 200은 비밀번호 해시 등을 통해 인증할 필요가 없는 로컬 시스템 계정이므로 건너뛰었습니다 . 이는 auth
규칙의 일부입니다. 일반적으로 이러한 역할 계정에는 false
또는 쉘 세트 도 있습니다 nologin
.