FTP 설정하기

앞에서 내부네트워크에서 사용할 samba를 설정하는 방법을 알아보았다.

하지만 내부네트워크에서만 사용하려면 굳이 NAS를 구축할 이유가 없을 것이다.

이번에는 FTP server를 구축해 외부 내부에서 FTP를 이용해 접속할 수 있도록 설정해보자.

Ubuntu-server설치하면 vsftpd를 선택하여 설치할 수 있지만, 만약 vsftpd를 선택하지 않았다면

sudo apt-get install vsftpd

명령어를 이용해 vsftpd를 설치하도록 하자.

그 후

sudo vim /etc/vsftpd.conf

명령을 이용해 vsftpd 설정을 수정한다.

listen_port=21
port_enable=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
dirmessage_enable=YES
use_localtime=YES
ftpd_banner="FTP's banner"
connect_from_port_20=YES
ftp_data_port=20
pasv_enable=YES
pasv_min_port=31
pasv_max_port=40
pasv_address=chanha.me
pasv_addr_resolve=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/Directory
  • listen_port – 포트 변경 (기본 21, 보안상 임의의 포트로 변경하는것을 추천)
  • port_enable – 포트 변경을 활성화
  • listen_ipv6 – ipv6 사용여부를 설정(ipv6를 사용하지 않는다면  NO로 설정하는 것을 추천)
  • anonymous_enable – 익명 로그인을 허용여부를 설정
  • local_enable – 로컬사용자의 접속 허용여부를 설정
  • write_enable – 로컬사용자가  저장, 삭제, 생성 등의 명령을 실행하게 할 것인지 설정
  • local_umask – 생성된 파일의 permission을 설정하기위한 umask 설정 (002설정시 775권한으로 설정)
  • dirmessage_enable – 디렉토리 이동시 각디렉토리 메시지가 보여지게 허용여부 설정
  • use_localtime – 로컬시간을 사용할지 설정
  • ftpd_banner – ftp클라이언트에서 표시될 banner를 설정
  • connect_from_port_20  – 데이터포트를 통한 연결을 허용여부 설정
  • ftp_data_port – 데이터포트 변경 (기본 20, 보안상 임의의 포트로 변경하는것을 추천)
  • pasv_enable – 패시브모드 사용여부 설정 (외부접속시 패시브모드를 사용하는 것을 추천)
  • pasv_min_port – 패시브모드 포트의 최소값을 설정
  • pasv_max_port – 패시브모드 포트의 최대값을 설정 (min_port~max_port의 포트가 모두 사용)
  • pasv_address – 패시브모드를 강제적으로 연결할 주소 설정 (DDNS로 연결한 주소를 입력)
  • pasv_addr_resolve – pasv_address를 공인IP가 아닌 도메인으로 설정가능하게 할지 설정
  • chroot_local_user – local_root의 상위 디렉토리의 접근을 허용하게 할지 설정 (YES로 설정하면 상위 디렉토리 접근이 불가)
  • allow_writeable_chroot – local_root의 상위 디렉토리의 접근을 허용하게 할지 설정
  • local_root – 공유할 디렉토리를 설정

다른 vsftpd 옵션을 확인하려면 여기를 참고

HDD에 존재하는 디렉토리중 일부분만 ftp서버에 올리는 것을 원한다면 특정디렉토리를 생성후

sudo mount –bind <원본디렉토리> <특정디렉토리>

명령으로 특정디렉토리에 다른 곳에 마운트된 디렉토리를 마운트시키는 것이 가능하다.

이를 이용하면 부분적인 디렉토리만 공유하는 것이 가능하다.

유저별 권한을 통해서 RO RW권한등을 부여할 수 있습니다.

유저 추가를 위해서

sudo adduesr <유저명>

유저 삭제를 위해

sudo userdel -r <유저명>

명령어를 이용하면 됩니다.

모든 설정을 마쳤다면

sudo /etc/init.d/vsftpd restart

명령을 통해 vsftpd서비스를 재시작한다.

그 후 FTP클라이언트를 이용하거나 윈도우 탐색기에서 ftp://도메인주소(IP주소):포트번호를 입력하면 FTP에 접속할 수 있는 것을 확인할 수 있다.

외부접속이나 도메인을 이용한 접속은 포트포워딩 설정을 해주지않아 불가능할 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.