VSFTPD 530 로그인이 잘못되었습니다


12

CentOS 5.3 x64에서 vsftpd 서버를 설정하려고합니다. 로컬 사용자 로그인이 작동하지 않습니다. 내 vsftpd.conf는 다음과 같습니다.

local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES

다음은 vsftp.log의 출력입니다.

Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP command: Client "10.0.1.138", "PASS <password>"
Mon Sep 13 23:34:44 2010 [pid 19242] [dwelch] FAIL LOGIN: Client "10.0.1.138"
Mon Sep 13 23:34:45 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "530 Login incorrect."

그리고 보안 로그의 출력 :

Sep 13 17:40:50 intra vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=dwelch rhost=10.0.1.138  user=dwelch

pam이 사용자를 인증하지 않는 것 같습니다. 내 /etc/pam.d/vsftp 파일은 다음과 같습니다.

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include      system-auth
session    include      system-auth
session    required     pam_loginuid.so

아무도 내가 잃어버린 것을 볼 수 있습니까? 감사.


나는 같은 문제에 직면하여 vsftpd를 제거하고 다시 설치하고 정상적으로 작동했습니다. 예, 좋은 해결책은 아니지만 효과가있었습니다.
usef_ksa

재미있게 이번 주에 똑같은 문제가 발생했습니다. 좌절감 때문에 vsftpd도 다시 설치했다고 생각합니다. 깨진 RPM?
Kyle Smith

답변:


17
 vi /etc/pam.d/vsftp  

댓글 #auth 필수 pam_shells.so

그리고

서비스 vsftpd 재시작
pam_shells.so는 쉘 액세스 권한이있는 사용자 만 허용해야하므로 주석 처리해야합니다.


누군가 pam_nologin 모듈 사용을 제안 했습니다 . 대안이 될 수 있습니다.
robsch

2

내 경우에는 다음과 같은 문제를 해결했습니다.

vi /etc/pam.d/vsftpd

주석 행 #auth include system-auth

그때

서비스 vsftpd 재시작


1
대답은 정확할 수 있지만이 줄을 주석 처리해야하는 이유에 대한 설명을 포함하면 더 유용합니다.
Jenny D

0

이것은 정답이 아니라 내가 잘 맞는 전략이라고 생각합니다.

/etc/pam.d/vsftp파일 에서 줄을 주석 처리하고 로그인 할 수 있는지 (그리고 언제) 확인하십시오. PAM은 의도적으로 성공 또는 실패만을보고하도록 설계되었습니다.


0

시스템에 하나의 ftp 서버 만 있습니까? 나는 비슷한 문제를 겪고 나서 문제를 자세히 살펴보고 충돌하는 두 개의 ftp 서버가 설치되어 있음을 보라. 하나를 제거하고 문제가 해결되었습니다.

'yum install vsftpd'를 수행 한 경우 pam 파일을 엉망으로 만들 필요가 없습니다 (PAM을 엉망으로 시작할 때 일반적으로 문제가 발생 함).

그렇지 않은 경우 chkconfig --list | grep ftp를보고 무엇이 나오는지 확인하십시오 (vsftpd가 나타나는지 확인하십시오-설치에 문제가없는 경우).

그리고 마지막 제안은 yum 업데이트를 실행하는 것입니다.


vsftpd는 SFTP 서버가 아닌 FTP 서버입니다. 그것들은 다른 프로토콜입니다.
hellomynameisjoel

0

사용자에게 유효한 쉘이 있습니까? / etc / shells 목록에 있어야한다고 생각합니다. 사용자는 확실히 없는 파일은 / etc / vsftpd를 / ftpusers에가?

CentOS에서 저를 /etc/vsftpd.conf 편집하고있는 /etc/vsftpd/vsftpd.conf를 확실히 편집하십시오.

vsftpd는 약간 까다로울 수 있으며 오류를보고하는 데 좋지 않습니다. 그것에 붙어 나는 매우 간단한 문제로 머리카락을 찢어 버리고 항상 간단한 해결책입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.