vsftpd 설치 및 설정
vsftpd 는 리눅스 서버에서 가장 흔히 사용하는 FTP (File Transfer Protocol) 서버 프로그램이며 일반적으로 vsftpd 패키지가 서버에 설치되어 있다.
FTP의 역할은 데이터를 서버에 파일을 업로드하거나 다운로드 하는 용도이며 요즘 나오는 웹에디터들도 FTP 를 통해 데이터 전송을 지원하기 때문에
서버에서 데이터 전송을 위해 사용되는 대표적인 프로그램이라고 할 수 있다.
리눅스 서버에서 가장 흔히 사용하는것이 VSFTP 이다. 간략하게 소개하자면 아래와 같은 장점이 있다.
• FTP 에 대한 보안설정 옵션들이 많다.
• 설정 파일 수정과 의미가 명확하여 초보자들도 쉽게 사용 가능하다. • 리눅스에 기본탑재하고 있어서 따로 설치할 필요없이 바로 사용 가능하다. |
vsftp 설치
1. vsftp 설치 여부 확인
$ rpm -qa | grep vsftpd vsftpd-2.2.2-14.el6.x86_64 |
2. vsftp는 기본적으로 포함되어 있거나 아래와 같이 간단하게 설치 가능하다.
$ yum install vsftpd 혹은 apt-get install vsftp |
3. 설정파일의 경로는 아래와 같다
$ vi /etc/vsftpd/vsftpd.conf |
4. FTP 명령 실행 방법은 아래를 참고한다.
$ /etc/init.d/vsftpd stop : 정지
$ /etc/init.d/vsftpd start : 시작 $ /etc/init.d/vsftpd restart : 정지했다가 다시 시작 |
여기서는 몇가지 대표적인 설정옵션을 알아본다.
- /etc/vsftpd/vsftpd.conf
• anonymous_enable=NO
익명사용자 접근을 허용하지 않음 (누구나 ID/PW 없이 FTP에 접근하여 자료를 업로드 및 다운로드 할수 있게하는 옵션이다)
• anon_upload_enable=YES
• anon_mkdir_write_enable=YES
• 계정 JAIL 설정
• 특정 계정만 JAIL 적용하기
• 특정계정만 제외하고 JAIL 하기
• 계정의 홈디렉토리는 /etc/passwd 파일에서 확인가능하다.
• idle_session_timeout=600
• data_connection_timeout=120
• write_enable=YES
• local_enable=YES
• local_umask=022
• dirmessage_enable=YES
• xferlog_enable=YES
• ftpd_banner=Welcome to iwinv FTP |
vsftp 패시브 포트 및 방화벽 설정
간혹 방화벽 때문에 FTP 접속이 안되거나 데이터 전송이 안되는 경우가 종종 발생한다.
FTP 사용때문에 방화벽 사용을 중단할수는 없으니 아래와 같이 패시브 포트라는것을 설정하는 방법이 있다.
• vsftp 패시브 포트 설정
- /etc/vsftpd/vsftpd.conf (아래내용 추가후 vsftpd 데몬 재시작)
pasv_enable=Yes pasv_min_port=50000 pasv_max_port=50005 |
∗ 50000 ~ 50005 번 포트까지는 패시브 포트로 사용하겠다는 의미이며 동시접속자와 동시 파일 전송갯수를 고려하여 범위를 잡아야 한다.
• 방화벽 설정
1. 위와 같이 설정하였다면 ELCAP 방화벽에서 인바운드 TCP 50000 ~ 50005 번까지 포트를 오픈해주면 된다.
2. 혹시 리눅스 서버에 iptables 방화벽을 사용하고 있다면 아래와 같이 방화벽 설정을 하고 저장해준다.
iptables -I INPUT 1 –m state —state NEW –m tcp –p tcp —dport 50000:50005 –j ACCEPT
iptables-save > /etc/sysconfig/iptables |
FTP 서버를 구축완료 하였다면 FTP 클라이언트 프로그램을 이용하여 데이터를 전송하거나 다운 받을 수 있으며
일반적으로는 FTP 아이디와 패스워드는 root 계정이 아닌 일반계정을 사용하여 로그인하게 된다.