리눅스에 FTP 설치하기

2020. 5. 18. 00:00인프라 보안/인프라 구축

FTP 서비스는 파일 전송 프로토콜을 이용하는 서비스로서, 각종 파일을 클라이언트와 서버 사이에 전송하게 해줍니다. 본 글에서는 이 FTP 서비스 종류 중 하나인 vsftpd 데몬을 리눅스 서버에 설치하는 법을 알아보겠습니다.

 

1. 아래 두 명령어를 통해 현재 리눅스 시스템에 vsftpd 서비스가 실행/설치 여부를 확인합니다. 해당 시스템엔 vsftpd 데몬이 실행되거나 설치되어 있지 않은 것을 확인할 수 있습니다.

 

- vsftpd 데몬이 현재 실행되고 있는지 확인합니다.

ps -ax | grep vsftpd

- vsftpd 패키지가 설치되어 있는지 확인합니다.

yum list installed | grep vsftpd

vsftpd 실행 및 설치여부 확인

 

2. yum 패키지 매니저를 통해 vsftpd 패키지를 리눅스 시스템에 설치합니다. 설치 프로세스가 진행되며, vsftpd 패키지가 성공적으로 설치된 것을 확인할 수 있습니다.

yum -y install vsftpd

vsftpd 패키지 설치 중...
vsftpd 설치 완료

 

3. 해당 시스템에 맞춰 vsftpd 서비스를 적절하게 이용하기 위해, vsftpd.conf 파일이라는 환경설정 파일을 수정합니다.  

vi /etc/vsftpd/vsftpd.conf

 

4. vsftpd.conf 파일의 내용을 아래처럼 수정합니다.

anonymous_enable=NO
idle_session_timeout=3600
chroot_local_user=NO
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_ipv6=NO
use_localtime=YES
anon_max_rate=100000
local_max_rate=500000
trans_chunk_size=0
force_dot_files=YES
max_clients=5
max_per_ip=2

 

5. vsftpd 서비스에 접속할 수 있는 계정을 허용하기 위해 chroot_list 파일을 생성합니다. 본 예제에선 root만 지정합니다.

vi /etc/vsftpd/chroot_list

 

6. 그렇게 생성한 chroot_list 파일의 권한을 '600'으로 변경합니다. '600' 권한은 파일 생성자만 읽거나 쓸 수 있는 권한이 있는 것으로 그 외 사용자는 아무런 권한도 없습니다.

chmod 600 /etc/vsftpd/chroot_list

 

7. FTP 서비스를 허용하기 위해 아래 명령어를 실행합니다. 방화벽 설정이 성공적으로 완료되면 'success'라는 문자열이 출력됩니다.  

firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --reload

 

8. 각종 환경설정 이후 vsftpd 서비스를 재시작하기 위해 아래 명령어를 실행합니다. enable 명령어는 시스템 재부팅 시에도 vsftpd 서비스가 실행되도록 하기 위한 것입니다. 

systemctl restart vsftpd
systemctl enable vsftpd

vsftpd 재시작

 

9. vsftpd 서비스가 성공적으로 실행되는지 확인하기 위해 아래 명령어를 실행합니다.

vsftpd -v
ps -ax | grep vsftpd

vsftpd 실행여부 확인

 

10. FileZilla 프로그램을 통해 FTP서버로 접속을 시도하고 성공합니다.

Host 칸에 sftp://192.168.159.5[FTP서버_IP주소]를 입력합니다.

Username 칸에 chroot_list 파일에 설정한 root 계정을 입력합니다.

Password 칸에 root의 패스워드를 입력합니다.

Port 칸에 FTP 서버의 기본 포트인 22를 입력합니다.

여기까지 하면, Quickconnect 버튼을 클릭합니다.

그러면, 접속 과정이 진행이 되고 Status에 /root 디렉토리 리스팅이 성공했다는 메시지가 나옵니다.

FileZilla 통한 FTP서버 접속 성공

 

여기까지 리눅스 시스템에 FTP 서비스를 설치하는 방법을 알아봤습니다. 추가로, FTP 서비스의 기본 포트인 22번이 아닌 다른 포트번호를 사용하고 싶다면 vsftpd.conf 설정파일에 아래 내용을 적용한 후, firewall-cmd 방화벽 설정하고 FTP 서비스 재시작하여 사용하면 됩니다.

listen_port=[바꾸고자_하는_포트번호]

 

'인프라 보안 > 인프라 구축' 카테고리의 다른 글

가상머신에 CentOS 7 설치  (0) 2020.05.10