ProFTPd 비밀번호가 맞는데도 "잘못된 비밀번호" 발생

ProFTPd 비밀번호가 맞는데도 "잘못된 비밀번호" 발생

클라이언트 요구 사항을 충족하기 위해 가상 사용자로 ProFTPd를 구성하려고 합니다. 현재 로컬에서 테스트 중이며 가상 사용자 파일에 나 자신에 대한 테스트 사용자만 나열되어 있습니다(시스템 사용자를 고려하는 것을 거부합니다).

nicole:[secret redacted]:10001:10001::/srv/ftp/nicole:/bin/false

동일한 사용자 이름과 비밀번호로 연결하려고 하면 530 Login Incorrect. 다음에 의해 생성된 로그는 proftpd -nd10유익하지 않습니다.

2024-01-15 19:02:12,618 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): mod_auth_file/1.0: using passwd file '...'
2024-01-15 19:02:12,618 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): retrieved UID 10001 for user 'nicole'
2024-01-15 19:02:12,618 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): no supplemental groups found for user 'nicole'
2024-01-15 19:02:12,618 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): ROOT PRIVS at mod_auth_pam.c:348
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): RELINQUISH PRIVS at mod_auth_pam.c:582
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): USER nicole (Login failed): Incorrect password
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_exec
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_shaper
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_wrap2
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_radius
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_delay
2024-01-15 19:02:14,265 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching PRE_CMD command 'SYST' to mod_exec
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching PRE_CMD command 'SYST' to mod_rewrite
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching PRE_CMD command 'SYST' to mod_core
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching PRE_CMD command 'SYST' to mod_core
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching CMD command 'SYST' to mod_core
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching POST_CMD command 'SYST' to mod_exec
2024-01-15 19:02:14,266 108c14613dd6 proftpd[7] 108c14613dd6 (172.17.0.1[172.17.0.1]): dispatching LOG_CMD command 'SYST' to mod_log

RequireValidShellPAM 구성의 쉘 검사와 마찬가지로 비활성화됩니다. 이는 Docker 컨테이너에서 실행 중이므로 PAM 로그가 없습니다(시스템 사용자를 사용하지 않는 경우 필요하지 않습니까? 이에 대한 문서 및 검색 결과가 명확하지 않습니다).

확인할 수 있는 다른 오류 메시지 소스가 있습니까? 나는 Login Incorrect내 것이라고 믿지 않는다진실오류가 발생하고 다른 문제가 발생하고 있지만 약 10년 동안 FTP 데몬을 사용하여 진지하게 작업하지 않았으며 대부분의 문제 해결 단계를 잊어버렸습니다.

(FTP와 같이 전 세계적으로 더 이상 사용되지 않는 프로토콜을 구성하는 것은 Bad Idea™라는 것을 알고 있으며 문자 그대로 다른 것을 대신 사용해야 하지만 그런 종류의 변경을 수행할 수 있는 위치에서 적어도 2도 정도 떨어져 있으므로 FTP 그래야 합니다.)

답변1

문제는 여전히 PAM이었습니다.

문서무겁게가상 사용자가 있든 없든 서버에서 시스템 사용자를 사용하기를 확실히 원한다고 가정하고 PAM을 활성화해야 한다고 주장하므로 인증이 발생하기 위한 요구 사항이라고 믿게 됩니다. 문제는 PAM 인증이 "전부 아니면 전무"라는 것입니다. 즉, 활성화한 경우 가상 사용자는 사실상 무시되며, 시스템 사용자 데이터베이스에 없으면 모든 것이 일치하더라도 액세스가 거부됩니다.

FTP 서버에 대한 시스템 사용자의 액세스를 거부하고 순수 가상 사용자 데이터베이스를 갖고 싶다면 AuthOrder를 정확히 다음과 같이 설정해야 합니다.

AuthOrder mod_auth_file.c

관련 정보