본문 바로가기
서버/리눅스 서버

5. 리눅스 우분투 FTP서버 구축하기 (2014.09.10)

by ㅋㅋ잠자 2014. 7. 11.
반응형

안녕하세요. 도정진입니다.

     

MK802IV 는 ARM 버전이라 대부분 패키지 포팅되어 있고 repo도 포팅된 주소로 되어 있습니다.

     

FTP 서버 구축을 위해 chroot 에러를 피하기 위해서 proftpd 를 이용하려고 했지만 실제로 설치해 본 결과 파일 전송에 패킷이 짤리는지 파일이 손상된 상태로 전송이 되는 에러가 있었습니다. 분명 포팅이 잘못된 것이지요. 물론 빌드를 통해서 정상적으로 구동되게 할 수 있지만 귀찮음 때문에 vsftpd로 진행합니다.~~

     

     

1. vsftpd 설치하기

     

터미널에 'apt-get install vsftpd' 라고 입력합니다.

     

     

설치가 다 되었습니다.

     

이 상태로 물론 우분투 실제 계정으로 로그인이 가능합니다.

(한편 보안을 위해서 가상계정 설정을 하실 수도 있어요.)

     

접속을 하게 되면 만들어 놓은 계정의 홈폴더가 /home/xxxxx 임으로 그 폴더로 접속이 됩니다.

     

     

     

     

2. 홈폴더 위치 바꾸기

     

저는 FTP 용도로는 혼자 사용하기 때문에 홈폴더를 외장하드 위치로 바꿔 보겠습니다.

     

제 외장하드 경로는 /usbhdd 입니다. 제 계정의 홈폴더를 바꾸기 위해서

     

터미널에서 'nano /etc/passwd' 라고 입력합니다.

     

     

원래 홈폴더는 /home/djj9405 임을 알 수 있습니다.

     

제가 FTP로 접속할 계정은 djj9405 이기 때문에 기본 루트를 /usbhdd (외장하드 위치로 바꿔 보겠습니다.)

     

     

이렇게 루트를 바꾸시고 Ctrl + O 로 저장하시고 Ctrl + X 로 창을 빠져나옵니다!

     

     

     

     

3. vsftpd 설정하기 (설정하시고 관련 포트를 공유기에서 포워드 해 주시길 바랍니다.)

     

WinSCP 를 통해 /etc/vsftpd.conf 파일을 열어서 수정합니다.

     

     

anonymous_enable=NO (익명 계정 로그인 비활성화)

local_enable=YES

(우분투 실제 계정의 로그인을 활성화 합니다. 물론 가상계정을 통해서 로그인하게 할 수도 있습니다. 기회가 된다면 그 부분에 대해서도 작성 예정입니다.)

write_enable=YES (쓰기가 가능하게 합니다.)

local_umask=0 (777 권한으로 저장하게 합니다.)

     

주석을 해제하거나 조금 수정으로 위와 같게 설정해 주시면 됩니다.

     

     

그 다음 패시브 포트 설정을 하겠습니다. 이 설정을 하면 외부 네트워크에서 속도가 느려지는 현상을 감소시킬 수 있습니다. 맨 아랫줄에 해당하는 틀을 입력하시고 저장하시면 됩니다.

     

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=30999

     

이렇게 설정을 끝내시고 ftp 서버를 재시작 해 줍니다.

'service vsftpd restart'

     

(chroot 설명은 제가 혼자 쓰고 있음으로 적지 않습니다)

     

     

     

     

     

4. 실제로 사용해 보기 (FileZilla FTP Server Client)

     

     

이렇게 서버 정보를 입력하시고 아이디 비밀번호를 입력하신후 연결 합니다.

     

속도측정을 해 보겠습니다.

     

대략 11MB/s 가 나옴을 알 수 있습니다.


추가 

Chroot 관련해서 에러가 발생하는 경우 

500 OOPS: vsftpd: refusing to run with writable root inside chroot() 


이럴때 vsftpd.conf 파일에 아래의 구문을 추가해 주시면 됩니다.

     allow_writeable_chroot=YES

     

감사합니다.

   

반응형

댓글