VM(CentOS 7)에서 FTP 서버를 설정하려고 합니다. 실행 중인 방화벽 또는 iptables 서비스가 없습니다. vstpd 서비스를 설치하고 활성화했습니다. 다음은 vsftpd.conf에서 활성화된 속성입니다.
- Anonymous_enabled=예
- 로컬 활성화=예
- 쓰기 활성화 = 예
- 로컬마스크=022
- dirmessage_enable=YES
- xferlog_enable=예
- connect_from_port_20=예
- chroot_local_user=예
- allow_writeable_chroot=YES
- Listen_ipv6=예
- pam_service_name=vsftpd
- 사용자 목록 활성화됨 = 예
- tcp_wrappers=예
- pasv_enable=예
- pasv_max_port=6000
- pasv_min_port=6000
[root@L00096a ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
SELinux가 활성화되었습니다. 세불입니다. ftpd_full_access를 켰습니다.
[root@L00096a ~]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> on
[root@L00096a ~]# netstat -lt
tcp6 0 0 [::]:ftp [::]:* LISTEN
VM은 sshd 서비스를 실행 중이고 루트 자격 증명을 사용하고 있습니다. FTP 페이지가 표시되기를 바라면서 브라우저에 IP를 입력해 보았지만 ftp://<ip>
표시되지 않았습니다. filezilla 클라이언트에서 시도하면 421 Service Unavailable 오류가 표시됩니다.
저는 Linux 전문가가 아니며 단지 내 코드를 테스트하기 위해 FTP 서버를 설정하고 싶습니다. 다음에 확인해야 할 사항을 알려줄 수 있는 사람이 있나요? 포트 21이 활성화된 것 같나요? 안내해주세요.
답변1
루트 자격 증명을 사용합니다
vsftpd
루트로 로그인하는 것은 기본적으로 허용되지 않습니다. 비밀번호가 일반 텍스트로 네트워크를 통해 전송되므로 이는 100% 안전하지 않습니다.
에서 루트를 활성화하려면 해당 vsftpd
루트 를 root
제거 /etc/vsftpd/ftpusers
하고 /etc/vsftpd/user_list
다시 시작하십시오( systemctl restart vsftpd
).
이제 모든 것이 작동하는지 확인했습니다.
vsftpd
기본 구성으로 CentOS 7에 VirtualBox를 설치했습니다(아무 것도 변경하지 않고).- SeLinux도 기본적으로 켜져 있습니다(
enforcing
). firewall-cmd --zone=public --permanent --add-service=ftp
따라가서 방화벽firewall-cmd –-reload
을 통과하도록 허용했습니다.
루트를 사용하여 호스트 PC에서 가상 PC로 FTP를 보낼 수 있습니다.
귀하가 보고 있는 오류는 FTP 클라이언트로 인해 발생한 것일 수 있습니다. 미드나잇 커맨더와 일반 노인들이 모두 ftp
이곳에서 일합니다.