Linux/서버

VSFTPD를 이용한 FTP 설치 및 설정

전거가감 2015. 11. 21. 17:01
반응형

VSFTPD를 이용한 FTP 설치 및 설정 (방법1, 추천)


1. vsftp, ftp 설치하기

- 'yum' 명령을 통해 손쉽게 설치 할 수 있다.

# yum -y install vsftpd ftp


2. 방화벽 설정

iptables에 20, 21번 포트를 등록해준다.

(FTP의 경우 20번 포트를 통해 자료를 전송하게되고, 21번 포트를 이용해 명령(삭제, 복사, 새로만들기 등)을 전송)

# vi /etc/sysconfig/iptables 


-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

위 내용을 추가하고 저장한다.


3. 방화벽 정책 재시작

#service iptables restart 


4. FTP 접속을 위한 계정 설정

- 어떤 계정을 통해 FTP 접속에 허용할 것인지를 설정

기본적으로 CentOS는 보안문제로 root 계정을 막아 두었습니다.

만약 root 계정으로 접속해야 한다면, 아래의 두 파일을 수정해야 합니다.


#vi /etc/vsftpd/user_list

내용을 보면 허용불가 계정들이 나열되어있습니다. 

'root'로 접속하기 위해서는 root 내용을 삭제 후 저장합니다.


#vi /etc/vsftpd/ftpusers

마찬가지로 허용불가 계정이 나열되어있는데, 위 파일과 동일하게 'root'를 삭제 후 저장합니다.


5. FTP 접속시, 530이나 500 Error 해결

CentOS의 selinux때문에 발생할 수 있는 에러를 막기 위해 아래와 같은 설정을 해줍니다.

(selinux는 리눅스 시스템의 보안을 위해 설정)

#setsebool -P ftp_home_dir 1


6.부팅 시 vsftpd 자동시작 설정

부팅시 자동으로 데몬이 실행할 수 있도록 아래와 같이 설정해줍니다.

#chkconfig --level 2345 vsftpd on


7. 설정 후 vsftpd 재시작

#service vsftpd restart


8. 기타

root로 접속 시 아래와 같은 에러가 발생 할 수 있다.

500 OOPS: cannot change directory:/root

이때는 아래 명령을 입력 후 다시 접속 시도시 root 계정으로 접속이 가능하다.

#setenforce 0



====================================================================================================



VSFTPD를 이용한 FTP 설치 및 설정 (방법2)


1. VSFTPD가 설치되어 있는지 확인

#rpm -qa | grep vsftpd


2. 없다면 설치

#yum -y install vsftpd ftp

"Complete!"가 뜨면 완료


3. 설정파일 수정(pass해도 무방, 목적에 맞게 수정)

vi /etc/vsftpd/vsftpd.conf

에서 주석이 되어있는 아래를 주석제거

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list(경로가 없는 경우 파일 생성, touch chroot_list)

:wq로 저장후 종료


4. 설정확인

#netstat -ntlp 입력하여 화면에 vsftpd가 포트 몇번이 설정되었는지 확인


5. 텔넷접속

21번 포트가 설정되었을때

#telnet localhost 21

반응형