CentOS 6.5를 사용하고 있습니다. 자동화된 테스트를 위한 Perl 스크립트가 있습니다. 스크립트 중 하나는 루트가 아닌 사용자로 사용자를 로그인하고 "su -" 명령을 테스트합니다. 이 테스트 사례는 대부분 통과하지만 몇몇 경우에는 실패합니다.
/var/log/secure의 오류 메시지:
localhost su: pam_unix(su-l:auth): authentication failure; logname=test_user uid=500 euid=0 tty=pts/0 ruser=test_user rhost= user=root
"test_user"는 루트가 아닌 사용자입니다.
따라서 디버깅 목적으로 스크립트가 올바른 비밀번호를 보내는지, 아니면 버퍼 문제로 인해 추가 문자를 보내는지 알고 싶습니다.
PAM 모듈이 사용자가 입력한 비밀번호를 기록할 수 있도록 하는 구성이 있습니까?
다음은 /etc/pam.d/su의 구성입니다.
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
다음은 /etc/pam.d/system-auth의 구성입니다.
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_unix.so
auth sufficient pam_ldap.so try_first_pass
auth required pam_deny.so
account sufficient pam_succeed_if.so uid < 100 quiet
account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so retry=3
password sufficient pam_unix.so use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session required pam_limits.so
session optional pam_unix.so
session optional pam_ldap.so
session required pam_mkhomedir.so
누군가 이 문제를 디버깅하기 위한 지침을 제공할 수 있습니까? 또한 파일에 debug
및 옵션을 추가하려고 시도했지만 warn
인증에 실패하면 여전히 추가 로그인 정보를 얻을 수 없습니다.pam_unix.so
system-auth
/var/log/secure