리눅스 FTP 서버

FTP(파일 전송 프로토콜)는 파일을 인터넷을 통해 컴퓨터 사이에서 전송하기 위한 프로토콜입니다. 리눅스 환경에서 FTP 서버를 구축하면 파일을 다른 사용자와 간편하게 공유할 수 있습니다. 이번 블로그 포스트에서는 리눅스에서 FTP 서버를 구축하는 방법에 대해 알아보겠습니다.

1. vsftpd 설치

vsftpd는 Very Secure FTP daemon의 약자로, 리눅스에서 가장 널리 사용되는 FTP 서버입니다. 아래 명령을 사용하여 vsftpd를 설치합니다.

sudo apt-get install vsftpd

2. vsftpd 설정

vsftpd의 설정 파일은 /etc/vsftpd.conf에 위치해 있습니다. 이 파일을 편집하여 FTP 서버를 설정할 수 있습니다.

sudo nano /etc/vsftpd.conf

주요 설정 옵션은 다음과 같습니다:

주석 처리되어 있는 기본 설정 값을 변경하여 FTP 서버를 원하는 대로 구성합니다.

3. FTP 사용자 계정 추가

FTP 서버에 접속하기 위해 사용할 FTP 계정을 추가해야 합니다. 아래 명령을 사용하여 FTP 사용자 계정을 추가합니다.

sudo adduser <username>

위 명령을 실행하면 사용자 계정과 패스워드를 설정할 수 있습니다.

4. 방화벽 구성

FTP 서버를 외부에서 접속할 수 있도록 방화벽 설정을 변경해야 합니다. 리눅스의 경우, 대부분 ufw를 사용하여 방화벽을 관리합니다. 아래 명령을 사용하여 FTP 서비스에 대한 포트를 열어줍니다.

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

5. FTP 서버 실행

FTP 서버를 시작하기 전에 vsftpd를 다시 시작하여 변경된 설정을 적용합니다.

sudo systemctl restart vsftpd

이제 FTP 서비스가 실행되고 외부 클라이언트에서 접속할 수 있게 됩니다.

6. 추가 보안 설정

FTP 서버를 보다 안전하게 운영하기 위해 여러 가지 추가적인 보안 설정을 할 수 있습니다. 예를 들어, FTPS(암호화된 FTP)를 사용하거나, fail2ban을 설치하여 로그인 실패 시 일시적으로 접속을 차단하는 등의 작업이 가능합니다.


FTP 서버를 구축하여 파일을 원활하게 전송하고 공유하는 것은 리눅스 사용자에게 매우 유용한 기능입니다. 이 블로그 포스트에서는 리눅스에서 vsftpd를 통한 FTP 서버 구축 방법을 알아보았습니다. 자세한 설정 내용은 vsftpd 매뉴얼을 참고하시기 바랍니다.