리눅스 FTP 서버 설정

리눅스 운영체제에서 FTP 서버를 설정하는 방법을 알아보겠습니다. FTP(Server)는 파일 전송 프로토콜(File Transfer Protocol)을 이용하여 파일을 서버와 클라이언트 간에 전송하는 프로토콜입니다. FTP 서버를 구축하면 클라이언트가 파일을 업로드하고 다운로드할 수 있습니다.

vsftpd 설치

리눅스에서는 대표적으로 vsftpd(Very Secure FTP Daemon)를 사용하여 FTP 서버를 구축합니다. vsftpd는 안전한, 높은 성능을 가진 FTP 서버 소프트웨어로 알려져 있습니다.

1. 해당 리눅스 배포판의 패키지 관리자를 사용하여 vsftpd를 설치합니다. 예를 들어, Ubuntu의 경우 아래와 같이 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install vsftpd

2. vsftpd 설정 파일(/etc/vsftpd.conf)을 엽니다.

sudo vi /etc/vsftpd.conf

FTP 서버 설정

아래는 FTP 서버를 설정하는데 있어 중요한 설정 옵션들입니다. 설정 파일에 주석으로 설명이 포함되어 있으므로 필요에 따라 주석을 참고해 주세요. 필요에 따라 값을 수정하고 저장합니다.

1. 애트리뷰트(SELinux) 해제:

# SELinux를 통해 FTP 서버가 파일 시스템에 액세스 할 수 있도록 해제합니다.
setsebool -P ftp_home_dir 1
setsebool -P ftpd_full_access 1

2. 스트림 입출력 모드 설정:

# 이게 있어야 ASCII 파일을 전송할 때 CR(Carriage Return) 문자를 변환합니다.
ascii_upload_enable=YES
ascii_download_enable=YES

3. 익명 접속 제한:

# 익명 사용자의 FTP 접속을 제한합니다.
anonymous_enable=NO

4. 로컬 사용자 접속 허용:

# 로컬 사용자의 FTP 접속을 허용합니다.
local_enable=YES

5. 홈 디렉토리 설정:

# FTP 접속 시 로그인한 사용자의 홈 디렉토리로 지정합니다.
chroot_local_user=YES

6. 전용 사용자 범위 설정:

# 전용 사용자의 범위를 설정합니다. 필요한 경우 사용합니다.
# (예: allow_writeable_chroot=YES, chroot_list_enable=YES)

7. 암호화 사용:

# FTP 트래픽을 암호화할 수 있는 SSL/TLS 연결을 사용합니다.
# (예: ssl_enable=YES)

8. 기타 옵션 설정:

FTP 서버 재시작

마지막으로, 설정한 옵션을 적용하기 위해 vsftpd 서버를 재시작합니다.

sudo service vsftpd restart

이제 리눅스에 FTP 서버가 설정되었습니다. 클라이언트에서 FTP 클라이언트(예: FileZilla)를 사용하여 서버에 접속하고 파일을 전송할 수 있습니다.

이 문서는 주로 Ubuntu 및 Debian 기반의 리눅스 배포판에 대한 정보를 포함하고 있으며, 다른 배포판에서는 조금 다를 수 있으므로 참고하여 사용하시기 바랍니다.