5.1. vsftpd 서버 구축 및 설정
학습 목표
- vsftpd를 통해 서버 구축 및 설정을 할 수 있다.
VSFTP는 Very Secure File Transfer Protocol로 파일 송.수신을 위한 서버 구축을 위한 것이며 FTP 클라이언트 프로그램으로는 알마인드, 파일질라 등의 프로그램 등이 있습니다. 원격에서 FTP서버에 접속하여 원하는 파일을 다운 및 업로드 할 수 있는 것으로 현재 sFTP를 모두 지원하고 있습니다.
FTP는 데이터 제어를 위한 FTP Control 채널과 데이터 전송을 위한 FTP Data 채널을 가지고 있으며 제어 채널은 21번 포트, 전송 채널은 20번 포트를 기본으로 사용하고 있고 전송 채널에는 Active 연결과 Passive 연결 방식을 지원하고 있습니다.
Active 연결(20번 포트)은 서버에서 클라이언트로 연결하기에 클라이언트 측에서의 방화벽 및 공유기 설정 등으로 인해 접속이 안될 때가 있어 이 때에는 클라이언트에서 서버로 연결을 시도하는 Passive 연결(1024번 포트 이상)을 통해 접속이 가능합니다.
FTP서버를 구축하기 위한 다양한 패키지 중 vsFTPd를 설치하고 설정 파일에 대한 내용을 살펴보도록 하겠으며 이전 실습에서 사용한 가상 머신을 그대로 사용하며 클라이언트 프로그램으로는 윈도우용 파일질라를 이용하도록 하겠습니다.
먼저 vsftpd를 설치하고 방화벽에서 서비스를 허용해준 뒤 시작해주면 되는데 방화벽 설정에 관련해서는 이전 글을 참조하면 됩니다. 이 후 FTP서버에 접속할 사용자를 생성하여 파일질라를 통해 접속하면 파일 송.수신이 가능한 상태가 됩니다.
#yum install -y vsftpd -> vsftpd 설치
#firewall-cmd --permanent --add-service=ftp -> 방화벽에서 ftp 서비스 허용
#systemctl start(enable) vsftpd -> vsftpd 시작 및 부팅 시에도 시작
아래는 파일질라 프로그램을 통해 FTP서버에 접속한 화면으로 다운로드 및 업로드가 가능하며 윈도우의 실행창 및 웹르라우저를 통해서도 접속이 가능합니다.
실행창에서 접속 시 -> ftp ftp서버 IP주소 및 도메인
get -> 다운로드, put -> 업로드, 여러 개 동시에 다운 및 업로드 -> mget, mput
웹브라우저에서 접속 시 -> 주소입력줄에 ftp://ftp서버 IP주소 및 도메인
FTP서버의 좀 더 세밀한 설정을 위해서는 /etc/vsftpd/vsftpd.conf파일을 수정해야하며 주요 부분에 대한 내용은 아래에 있으며 이 외에도 더 많은 설정 내용들이 추가적으로 있습니다.
- ASCII(아스키) 모드로 파일 전송
ascii_download_enable=YES
ascii_upload_enable=YES
- FTP 사용자가 본인의 home 디렉토리를 벗어나지 못하도록 설정
chroot_list_enable=YES
chroot_local_user=YES
- 숨김 파일(.) 보기
force_dot_files=YES
- FTP 접속 시 파일과 디렉토리의 소유권을 숨기도록 설정
hide_ids=YES
- 하위 디렉토리의 내용을 보는 ls -R 명령 허용
ls_recurse_enable=YES
- 시간 맞추기
use_localtime=YES
- 전송 속도 제한
local_max_rate=100000 - 초당 전송속도(Byte 기준)
- 동시 접속자 수 제한
max_clients=10 - 동시 접속자 수
설정 내용을 수정한 후에는 반드시 서비스를 재시작(#systemctl restart vsftpd)해줌으로써 적용이 되며 설정하고자 하는 부분이 있으며 주석처리(#)를 없애고 사용하고자 하는 기능은 YES, 아닐 경우 NO로 설정하면 됩니다.
관련 내용은 유튜브 채널 'youtube.com/에듀쉐어'를 통해 확인이 가능하며 SSH전송을 이용한 sFTP는 다음에 다루도록 하겠습니다.
구독 및 좋아요 꾹~~~ 감사합니다.^^
'IT강좌 > 서버|클라우드' 카테고리의 다른 글
후티와 떠나는 서버 여행 - 5장. FTP 서버 구축 및 설정(5-3. FTPS) (0) | 2020.03.01 |
---|---|
후티와 떠나는 서버 여행 - 5장. FTP 서버 구축 및 설정(5-2. SFTP) (0) | 2020.02.29 |
후티와 떠나는 서버 여행 - 3장. 웹서버 구축 및 설정(https 설정) (2) | 2020.02.16 |
후티와 떠나는 서버 여행 - #. CentOS 7 방화벽(firewall-cmd/selinux) 설정 (3) | 2020.02.14 |
후티와 떠나는 서버 여행 - 3장. 웹서버 구축 및 설정(feat. APM) (0) | 2020.02.12 |