내 컴퓨터에 FTP 서버를 설정해야 합니다. 다음 명령을 사용하여 vsftpd를 설치했습니다.
sudo apt-get install vsftpd
vsftpd.conf
그런 다음 위치의 구성 파일을 편집했습니다 /etc
. 이 파일에는 다음이 포함됩니다.
#Set the server to run in standalone mode
listen=YES
#Enable anonymous access
local_enable=NO
anonymous_enable=YES
#Disable write access
write_enable=NO
#Set root directory for anon connections
anon_root=/var/ftp
#Limit retrieval rate
anon_max_rate=2048000
#Enable logging user login and file transfers. /var/log/vsftpd.log
xferlog_enable=YES
#Set interface and port
listen_address=192.120.43.250
listen_port=21
IP 주소 192.120.43.250은 내 서버의 eth0입니다. 내가 명령을 실행할 때
sudo vsftpd /etc/vsftpd.conf
오류가 발생합니다.
500 OOPS: could not bind listening IPv4 socket
포트 21에서 무엇이 실행되고 있는지 확인하기 위해 다음 명령을 실행했습니다.
sudo netstat -tulpn
vsftpd 프로세스 ID가 다음과 같은지 확인하세요.29383그래서 다음 명령을 내립니다.
sudo killserver 29383
그리고 다시 확인해 보세요. 여전히 vsftpd
존재하지만 PID가 다릅니다. 실행 명령:
sudo killall vsftpd
그리고
sudo killall -9 vsftpd
같은 일을하십시오. 다시 설치해 보았습니다. 무슨 일이 일어나고 있고 어떻게 해결하는지 아는 사람 있나요?
답변1
댓글을 기억하세요
listen=YES
독립형 모드에서 실행 vsftpd.conf
되지 않도록 파일 에vsftpd
그것은 내 문제를 해결했습니다.
답변2
xinetd ftp가 실행 중이기 때문에 이 오류가 나타날 수 있습니다.
아래에 언급된 프로세스는 다음 오류를 해결합니다.
A) 500 OOPS: vsftpd에 대해 수신 IPv4 소켓을 바인딩할 수 없습니다.
B) ncftpget의 경우 연결 직후 서버가 중단됩니다.
오류를 수정하려면 다음 단계를 따르세요.
실행 중인 FTP 서비스를 보려면 다음을 사용하세요.
$ lsof -i | grep ftp (Become root and run this command)
xinetd를 중지하려면:
$ sudo service xinetd stop
xinetd를 중지한 후 다음 명령을 입력하여 vsftpd 서비스를 다시 시작합니다:
$ /etc/init.d/vsftpd restart (Become root and run this command)
vsftpd.conf도 확인하세요:
listen=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem
답변3
제 경우에는 실행 중인 프로세스로 인해 오류가 발생했습니다.
다음을 시도해 보세요:
$ sudo service vsftpd restart
새 구성 매개변수(있는 경우)를 사용하여 서비스를 다시 시작해야 합니다.
답변4
제 경우에는 다음 줄의 주석 처리를 제거하면 vsftpd.conf
문제가 해결되었습니다.
write_enable=YES