Ubuntu Server 22.04 / vsftpd로 FTP 서버 구축하기
차례
vsftpd
vsftpd(Very Secure FTP Daemon)는 유닉스와 리눅스에서 사용할 수 있는 가벼운 FTP 서버입니다. 주요 특징은 다음과 같습니다.
- Virtual IP configurations
- Virtual users
- Standalone or inetd operation
- Powerful per-user configurability
- Bandwidth throttling
- Per-source-IP configurability
- Per-source-IP limits
- IPv6
- Encryption support through SSL integration
설치
vsftpd는 우분투 패키지에 포함되어 있으므로 다음과 같이 명령하여 설치할 수 있습니다.
# apt install vsftpd
방화벽을 사용 중이라면 다음과 같이 명령하여 포트를 열어줍니다.
# ufw allow ftp
서버 부팅 시 자동으로 시작하게 하려면 다음과 같이 명령합니다.
# systemctl enable vsftpd
설정 변경 후 적용시키려면 서비스를 다시 시작하거나
# systemctl restart vsftpd
다시 로드합니다.
# systemctl reload vsftpd
주요 설정
설정 파일은 /etc/vsftpd.conf입니다.
주요 기본 설정은 다음과 같습니다.
- 익명 사용자 접속 불가
- 사용자는 읽기 전용으로 접속
- 다른 폴더 보기 가능
사용자 쓰기 가능하게 하기
사용자는 읽기 전용으로 접속하므로 파일을 업로드하거나 삭제하는 것이 불가능합니다. 쓰기 가능하게 하려면 다음 코드에서 주석(#)을 제거합니다.
#write_enable=YES
사용자 홈 디렉토리를 벗어나지 못하게 하기
사용자는 홈 디렉토리를 벗어나서 다른 디렉토리나 파일 목록을 볼 수 있습니다. 다운로드나 업로드는 불가능하나 목록을 보는 거 자체가 문제가 될 수 있습니다. 접속한 사용자가 홈 디렉토리를 벗어나지 못하게 하려면 다음 코드에서 주석을 제거하고...
#chroot_local_user=YES
다음 코드를 추가합니다.
allow_writeable_chroot=YES
익명 사용자 접속
익명 사용자, 즉 누구나 접속할 수 있게 하려면 다음 설정 코드에서 No를...
anonymous_enable=NO
YES로 변경합니다.
anonymous_enable=YES
읽기 전용으로 /srv/ftp에 접속됩니다.
익명 사용자에게 업로드, 쓰기 권한 부여
익명 사용자가 업로드와 쓰기가 가능하게 하려면 두 가지 작업을 해야 합니다.
설정 파일 수정
설정 파일에서 다음 두 코드에서 주석을 제거합니다.
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
디렉토리 권한 설정
예를 들어 /srv/ftp/pub 디렉토리에 업로드와 쓰기가 가능하게 하고 싶다면, 디렉토리를 만들고...
# mkdir /srv/ftp/pub
쓰기 가능하게 권한을 부여하거나...
@ chmod 777 /srv/ftp/pub
ftp 사용자에게 소유권을 부여합니다.
# chown ftp:ftp /srv/ftp/pub