본문 바로가기

Linux/구축 관련

vsftp를 이용한 ftp 환경 구축




vsftp를 이용한 FTP 환경 구축




지난 포스팅에 sftp를 이용하여 접속하는 방법을 다뤘는데요 (http://itgameworld.tistory.com/16)

이번엔 vsftp를 이용하여 ftp 서버를 구축해보도록 하겠습니다.



구축환경

CentOS 6.7



설치는 간단합니다. yum을 통해 설치하겠습니다.


[root@localhost ~]# yum -y install vsftpd ftp


클라이언트에서는 ftp도 설치해주셔야 접속이 가능합니다.


혹시 폐쇄망이라던가 오프라인 환경이시더라도 크게 걱정하지 않으셔도 될 것이

vsftp는 보안에 신경을 많이 쓴 tool이기 때문에 centos, redhat 에서는 기본 패키지로 사용되고 있습니다.

따라서 리눅스 설치 이미지나 CD 등을 이용해서도 충분히 설치가 가능합니다.

아래 포스팅 대로 yum 저장소를 변경하여 yum 설치가 가능합니다.

http://itgameworld.tistory.com/3



설치가 완료되었습니다. 접속 전에 중요한 설정부터 짚고 가겠습니다.


[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf


전부 설정하실 필요는 없고 필요한 부분만 설정하시면 됩니다.

 anonymous_enable=NO

 계정정보가 없는 익명 접속도 허용할 것인지에 대한 설정

 pasv_enable=YES

 FTP를 패시브 모드로 사용할지 여부를 결정

 idle_session_timeout=300

 접속 후 300초 동안 아무런 작업이 없다면 접속종료

 local_enable=YES

 로컬 계정 사용자들의 접속을 허용 여부. NO로 하게될 경우 530 ERROR와 함께 거부

 userlist_enable=YES

 명시된 사용자만 로그인을 허용

일단 기본적인 몇가지만 올려드렸는데 이 외에 설정값이 굉장히 많습니다.

이 부분은 따로 검색하시면 자세히 올려주신 분들이 많네요.




iptables 수정



iptables에 내용을 추가하여 포트를 오픈시켜주어야 합니다.

FTP는 20, 21번 포트를 사용합니다.


[root@localhost ~]# 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

....



FTP 전용 계정 생성


ftp를 접속하기 위한 계정을 생성합니다. anonymous는 보안상 비활성화 시키는 것이 좋고,

root 접속도 보안상 ftp용으로 사용하지 않는 것이 좋습니다. 그래도 root를 사용하셔야 한다면 아랫쪽에 방법을 사용하시면 됩니다.


[root@localhost ~]# useradd ftpuser

[root@localhost ~]# passwd ftpuser



클라이언트 쪽에서 접속해보겠습니다. 위에 적은대로 클라이언트 쪽에서는 ftp를 설치해야 합니다.

vsftpd 서비스를 시작 후 접속해보겠습니다.


[root@localhost ~]# service vsftpd start

[root@localhost ~]# ftp 192.168.0.128

Connected to 192.168.0.128 (192.168.0.128).

220 (vsFTPd 2.2.2)

Name (192.168.0.128:root): ftpuser

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.


접속이 성공했습니다.





ftp 접속 계정을 root로 사용하기



위에도 언급했듯이 root로는 사용하지 않는 것이 좋습니다.

하지만 상황에 따라 root를 사용해야하는 경우를 위해 방법을 적어보겠습니다.


[root@localhost ~]# ftp 192.168.0.128

Connected to 192.168.0.128 (192.168.0.128).

220 (vsFTPd 2.2.2)

Name (192.168.0.128:root): root

530 Permission denied.

Login failed.


root로 접속시 530 Permission denied가 뜨면서 로그인이 실패합니다.

위에 옵션에도 나와있는 userlist에 root가 포함되어 있기 때문입니다.


[root@localhost ~]# vi /etc/vsftpd/user_list

[root@localhost ~]# vi /etc/vsftpd/ftpdusers


에서 root를 주석처리, 혹은 삭제

vsftpd 서비스 재시작 후 접속


[root@localhost ~]# service vsftpd restart

[root@localhost ~]# ftp 192.168.0.128

Connected to 192.168.0.128 (192.168.0.128).

220 (vsFTPd 2.2.2)

Name (192.168.0.128:root): root

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>




'Linux > 구축 관련' 카테고리의 다른 글

Multipath 구성  (0) 2016.11.10
Logrotate  (0) 2016.11.04
sftp를 이용한 파일 전송  (0) 2016.08.09
CentOS 6.x 설치 !!  (0) 2016.08.09
최소설치에서 GUI 설치 (minimal에서 GUI 구축)  (0) 2016.08.05