VirtualBox에 Centos의 최소 버전을 설치했습니다. FTP 서비스를 실행하여 호스트와 가상 머신 간에 파일을 공유하고 FTP 서버에 대해 배우고 싶습니다.
vsftpd를 설치하고 vsftpd.conf 파일을 다음과 같이 변경했습니다.
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=O22
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port 2O=YES
xferlog_std format=YES
chroot_local_user=YES
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
그런데 입력하면 service vsftpd start
다음과 같은 오류가 발생합니다.
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and journalctl -xe" for details.
이 문제는 위에 표시된 잘못된 구성으로 인해 발생합니까, 아니면 다른 문제입니까? FTP 서버를 시작하려면 어떻게 해야 합니까?
감사해요!
편집하다
다음과 같은 경우 출력systemctl status -l vsftpd.service
[user@localhost vsftpd]$ systemctl status -l vsftpd.service
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service, disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Ter 2017-05-09 21:03:19 -03; 3min 2s ago
Process: 3047 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited status=2)
Mai 09 21:03:19 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
Mai 09 21:03:19 localhost.localdomain systemd[1]: vsftpd.service: control process exited, code=exited status=2
Mai 09 21:03:19 localhost.localdomain systemd[1]: Failed to start Vsftpd ftp daemon.
Mai 09 21:03:19 localhost.localdomain systemd[1]: Unit vsftpd.service entered failed state.
Mai 09 21:03:19 localhost.localdomain systemd[1]: vsftpd.service failed.
[user@localhost vsftpd]$
답변1
제공한 구성에 따르면 space
과 사이의 값이 있습니다.xferlog_std
format=YES
또한 작업 구성과 비교할 수도 있습니다.
$ sudo cat /etc/vsftpd/vsftpd.conf | grep -v "#"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=abdullah
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
답변2
제 경우에는 TCP 21에 또 다른 프로세스가 있습니다.
$ netstat -nalp | grep 21
이 시점에서 나는 포트에서 xinetd를 보았습니다. Vfstpd는 중지 후 성공적으로 시작됩니다.
$ service stop xinetd
답변3
또한 포트 21에 문제가 있었지만 다음을 사용하여 xinetd 서비스를 중지하여 해결되었습니다.
systemctl stop xinetd
이것은 service stop xinetd
작동하지 않습니다.
답변4
/etc/vsftpd/vsftpd.conf에서 listening_ipv6=yes 설정은 vsftpd가 ipv6 및 ipv4 모두에서 수신을 시도하도록 합니다. Listen_ipv6=no를 설정하면 문제가 해결되었습니다.
변경 후 서비스를 중지하고 시작합니다.