▶ FTP (File Transfer Protocol)

 – FTP는 약자그대로 파일을 전송하기 위한 규약.

 – 파일을 전송하는데 있어서 용량제한이 없으며 구축해두면 어디서나 접속하여 파일을 업 & 다운로드 할 수 있다.

 – 회사 업무를 하다보면 NAS라고 많이 듣게 되는데 FTP를 업그레이드 시킨것이라고 생각하면 될 것 같다.

    NAS는 가격이 비싸기때문에 개인 데스크탑, 노트북 등을 NAS로 구축하기도 한다고 한다. (NAS기능중 FTP포함)

▶ FTP 서버 구축 순서

1. 패키지설치

2. 서버 설정

3. 방화벽 설정 & selinux해제

4. 데몬재시작

5. 접속확인

▶ 설치할 패키지 : vsftpd (very secure ftpd) : 속도및 안정성이 전보다 뛰어 나다고 한다.

▶ 1. 패키지설치

 – 설치가 되어 있나 확인 해본다.

# ps -ax | grep vsftpd

# yum list installed | grep vsftpd  

설치가 안되신 분들은 Yum으로 설치를 진행 하시면 됩니다.

yum -y install vsftpd

▶ 2. 서버 설정   (vsftpd.conf 파일 수정, chroot_list 파일 신규 생성)

 – 2.1 vsftpd.conf 파일 수정


vi /etc/vsftpd/vsftpd.conf

일단 보기 편하게 :set nu로 줄표시 한다.

 

12번 라인 : anonymous 접속 허용 여부를 no로 한다.

94번 라인 : [chroot_list_file(접속 허용 계정 리스트) 활용 여부] YES

96번 라인 : chroot_list_file 경로

114번 라인 : 주석 해제, NO로 변경

설정 끝.

다음 내용은 참고

 anonymous_enable=NO      

 idle_session_timeout=600

 chroot_local_user=NO 

 allow_writeable_chroot=YES

 chroot_list_enable=YES

 listen=YES

 use_localtime=YES

 anon_max_rate=100000

 local_max_rate=500000

 force_dot_files=YES

 max_clients=10

 max_per_ip=2

 

 – [anonymous 접속 허용 여부]
 – [접속 세션 유지 시간(초)]
 – [최상단 디렉토리를 접속한 유저 홈디렉토리로 제한] 
 – [chroot_local_user 제한 설정할 경우 설정값]
 – [chroot_list_file(접속 허용 계정 리스트) 활용 여부]

 – [standalone 설정 여부]

 – [서버시간으로 사용]

 – [annymous 전송속도 제한 bps]

 – [유저 전송속도 제한 bps]

 – [. 파일 표시 여부]

 – [최대 접속 허용수]

 – [한 아이피당 접속 허용수]

 – 2.2 vi /etc/vsftpd/chroot_list로 chroot_list 파일 생성

# vi /etc/vsftpd/chroot_list

허용할 계정 추가

3. 방화벽 설정 & selinux해제

# firewall-cmd –permanent –add-service=ftp

# firewall-cmd –permanent –add-port=21/tcp

# firewall-cmd –reload

vi /etc/selinux/config

SELINUX=enforcing 을 disabled로 변경하여 준다.

4. 데몬재시작

# systemctl enable vsftpd

# systemctl restart vsftpd

ps -ax | grep vsftpd

위와 같이 올바르게 서비스가 떠있는 것을 확인 할 수 있다.

5. 접속확인

혹시 530 Permission denied 오류가 난다면 

접속한 FTP 계정이 접속 거부리스트에 있는 계정인 경우 이다.

예를들어 root도 접속 거부리스트이다.

꼭 root계정을 접속 혀용하려면 다음과 같은 작업을 하여 주면 된다.

다음의 두개의 파일에서 root를 제거하여 준다.

vi /etc/vsftpd/ftpusers

vi /etc/vsftpd/user_list


출처: https://goddaehee.tistory.com/73