운영 환경
- Ubuntu 20.04
- vsftpd 3.0.5
제약 사항
- 20/21번 포트는 사용하지 못함. 30000-30100 포트를 사용해야함
- Client는 Passive 모드로 접속함
준비 사항
- FTP 서버 접속에 사용할 사용자 계정과 홈 디렉토리를 생성합니다.
- vsftpd는 리눅스 사용자 계정을 사용하여 FTP 서버에 로그인 합니다.
sudo adduser ftpuser
sudo chmod a-w /home/ftpuser
sudo mkdir /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser/ftp
설정 파일 편집
# Port 설정
listen_port=30000
pasv_enable=YES
pasv_min_port=30001
pasv_max_port=30100
# 익명 사용자를 비활성화
anonymous_enable=NO
# 로컬 사용자를 허용
local_enable=YES
# 파일 업로드를 허용
write_enable=YES
# 업로드 시 파일 권한 설정
local_umask=022
# ASCII 전송 모드 지원 (선택 사항)
ascii_upload_enable=YES
ascii_download_enable=YES
# FTP 접속 로그 기록
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
# FTP 루트 디렉토리 제한 (chroot)
chroot_local_user=YES
allow_writeable_chroot=YES