login
내 PAM 구성 등 의 인증 섹션을 mdm
보려면 common-auth
. 나는 common-auth
다음을 서브스택(as auth substack krb5ldap-cache-auth
)으로 호출했습니다:
auth optional pam_echo.so Trying UNIX
# Try UNIX, empty passwords OK
auth sufficient pam_unix.so nullok
auth optional pam_echo.so Checking UID
# If the uid < 500 and UNIX didn't work, then die.
auth requisite pam_succeed_if.so uid >= 500 quiet_success
auth optional pam_echo.so Trying Kerberos
# Try Kerberos, using the same password
# If the password is correct (success), then skip next lines
# If the password is wrong (auth_err), then die
# If Kerberos can't connect (?), then ignore
auth [success=2 auth_err=die default=ignore] pam_krb5.so debug use_first_pass
# Try the cache, using the same password
# Last chance.
auth optional pam_echo.so Trying cache
auth [success=done default=die] pam_ccreds.so action=validate use_first_pass
# Kerberos validated our password.
auth optional pam_echo.so Kerberos validated
# Store the password hash.
auth optional pam_ccreds.so action=store use_first_pass
# See if we can mount user drives, since we have a Kerberos token.
auth optional pam_mount.so
auth optional pam_echo.so Done.
( pam_echo.so
디버깅용으로만 사용합니다.)
이는 성공적인 인증을 위해 제대로 작동하는 것 같습니다. 하위 스택 메커니즘은 "sufficient" 및 "done"을 사용하여 더 큰 스택을 종료하지 않고도 하위 스택을 종료할 수 있기 때문에 편리합니다.
그러나 인증에 실패하면 더 큰 스택이 종료되어야 할 때 계속됩니다(예를 들어 mdm
쓸데없이 을 호출하거나 pam_gnome_keyring.so
쓸데 login
없이 호출함 ).pam_group.so
하위 스택이 실패하면 스택이 종료되도록 하위 스택을 호출하는 방법이 있습니까? 시도해 보았지만 auth requisite substack krb5ldap-cache-auth
PAM 구문이 잘못되었습니다.
답변1
PAM 관리자 가이드에서:
substack
이 컨트롤에 대한 인수로 지정된 구성 파일에서 지정된 유형의 모든 행을 포함합니다.
include
이는 하위 스택의 완료 및 종료 작업을 평가하면 전체 모듈 스택의 나머지 부분을 건너뛰는 것이 아니라 하위 스택만 건너뛰게 한다는 점에서 다릅니다 .
include
귀하의 질문을 읽어보니 귀하가 찾고 있는 것이 아닌 것 같습니다 substack
. 그러므로 아마도 교체해야 할 것입니다 ...
auth substack krb5ldap-cache-auth
와 함께...
auth include krb5ldap-cache-auth
그러나 데비안 시스템에서는 다음을 대신 사용해야 할 수도 있습니다:
@include krb5ldap-cache-auth
또한 RedHat 시스템 및 파생 제품에서는 더 이상 사용되지 않는 것으로 간주되는 를 사용해야 할 수도 있습니다 pam_stack
(처리 문제로 인해 재귀가 포함된다고 생각합니다).
auth requisite pam_stack.so service=krb5ldap-cache-auth
이러한 경우 에서 done
또는 die
작업이 트리거되면 krb5ldap-cache-auth
PAM은 해당 작업을 종료합니다.전체 스택, 그리고 서브스택뿐만이 아닙니다.