안녕하세요. 이번에는 FTP 서버를 설정하고 사용하는 방법에 대해서 알아보도록 하겠습니다.


기본적으로 FTP 서버의 정보는 아래와 같습니다.


데몬정보 : pure-ftpd

포트 : 21

패시브포트 : 49152 ~ 65534

언어셋 : utf8

인증방식 : 가상계정 (pure-db 이용)


파일질라 , WinSCP , 윈도우 탐색기 , 안드로이드의 ES 파일 탐색기 , 아이폰의 N플레이어 등등 호환이 가능합니다.


아래의 순서대로 진행 하도록 하겠습니다.


1. 접속방법

2. 서버 및 계정 설정방법

3. 포트포워딩 방법


그럼 시작하겠습니다.


1. FTP 서버 접근하기


(이 글을 작성할 때 원격지에서 작성을 하여 아이피가 iptime.org 도메인으로 되어 있는점 양해 부탁드립니다.)


접속 아이피 : U5PVR 아이피 주소

포트 : 21

아이디 : u5pvr

비밀번호 : u5pvr


u5pvr 은 기본적으로 생성되어 있는 계정으로 추후 설정시 제거하셔야 합니다! 


윈도우 탐색기의 경우 ftp://U5PVR아이피주소:21/ 을 탐색기 주소에 입력하시고 아이디 비밀번호를 입력하시면 아래와 같이 접근이 됩니다.


저의 경우에는 sda 로 SATA 2.5인치 하드디스크, sdb 로 USB 메모리가 장착되어 있는 상태입니다.



내장 SD카드도 정상적으로 접근이 됩니다.


다음으로 Filezilla 프로그램으로 접근을 해 보겠습니다.


빠른연결에서 호스트에 U5PVR 아이피주로를 입력하시고 사용자명에 u5pvr 그리고 비밀번호도 u5pvr 로 입력하고 포트는 21 을 넣으시면 정상적으로 접근이 됩니다.


(원격지에서 글을 작성중이라 사진에는 2211로 되어 있습니다.)



상세하게 보도록 하겠습니다.




다음은 크롬 브라우저를 통해서 접근을 해 본 사진입니다. 파일 업로드는 할 수 없지만 다운로드는 가능하게 되어 있습니다.


WinSCP 를 통해서 접근하여 보겠습니다.


(기본적으로 SSH 가 작동중이기 때문에 SFTP 로도 접근이 가능합니다.)





마지막으로 ES 파일탐색기에서 접근해 본 사진입니다.







2. FTP 서버 설정하기


먼저 패시브포트 범위를 바꾸는 방법에 대해서 알아보겠습니다.


기본적으로는 49152 ~ 65534 로 FTP 서버 기본 값으로 설정이 되어 있습니다.


아래처럼 설정을 해 주시고 재시작 하시면 설정이 적용됩니다.


root@u5pvr-debian:~# nano /etc/pure-ftpd/conf/PassivePortRange


49152 65534

# 요기서 범위를 수정해 주시면 됩니다.


root@u5pvr-debian:~# service pure-ftpd restart

Restarting ftp server: Running: /usr/sbin/pure-ftpd-virtualchroot -l puredb:/etc/pure-ftpd/pureftpd.pdb -l pam -8 utf8 -J ALL:!aNULL:!SSLv3 -u 0 -b -E -A -O clf:/var/log/pure-ftpd/transfer.log -9 utf8 -H -U 000:000 -p 49152:65534 -B

root@u5pvr-debian:~#


다음은 계정 설정을 해 보겠습니다.


root@u5pvr-debian:~# pure-pw list

# 현재 설정된 계정 리스트 보기

u5pvr               /mnt/./

djj9405             /mnt/./

root@u5pvr-debian:~# pure-pw userdel u5pvr

# u5pvr 계정 삭제

root@u5pvr-debian:~# pure-pw list

djj9405             /mnt/./

root@u5pvr-debian:~# pure-pw userdel djj9405

# djj9405 계정 삭제

root@u5pvr-debian:~# pure-pw list

# 설정된 계정이 없음으로 리스트에 뜨지 않음

root@u5pvr-debian:~# pure-pw useradd djj9405 -u 1023 -g 1028 -d /mnt -m

# djj9405 계정 추가

# pure-pw useradd <추가할아이디> -u <유저지정> -g <그룹지정> -d <홈폴더 지정> -m (db에 바로 업그레이드 하는 옵션)

Password:

Enter it again:

# djj9405 계정에 사용할 비밀번호를 두번 입력합니다.

root@u5pvr-debian:~# pure-pw list

djj9405             /mnt/./

# 생성한 계정이 보입니다.

root@u5pvr-debian:~# pure-pw mkdb

# 혹시 모르니 db 를 갱신해 줍니다.


계정을 생성할 경우 U5PVR 리눅스는 안드로이드 커널을 공유하기 때문에 사용자는 1023 그룹은 1028 로 꼭 설정하셔야 권한 문제가 발생하지 않습니다. 


명령어 끝에 -m 을 넣는 이유는 바로 db 에 반영을 하기 위함입니다. -m 을 넣지 않고 작업하시면 db 에 반영이 되지 않기 때문에 삭제한 계정으로도 접속이 가능해지는 경우가 있습니다. pure-pw mkdb 를 통해 db를 업데이트 하시면 바로 반영이 됩니다.


홈폴더의 경우 /mnt 로 하시면 안드로이드에서 바라보는 /mnt 와 동일한 위치입니다. 즉, 내장 SD카드와 USB나 SATA 포트로 연결된 디스크가 모두 보이는 위치입니다.



여타 계정 설정으로 속도 제한이나 접근 허용 아이피 등등을 설정할 수 있습니다.


추가적으로 홈폴더 관련하여 가상 디렉터리를 사용할 수 있습니다. 예를 들어서 보여주고 싶은 것만 공유하고 싶다면 빈 폴더를 하나 생성하여 그 폴더를 홈폴더로 지정하고 그 폴더에 심링크로 폴더를 추가하는 것입니다.


예시로 mk802 라는 계정에 홈폴더를 /home/mk802 로 설정하고 /home/mk802 폴더에 /mnt/sda/sda1 을 심링크 걸어 보도록 하겠습니다.


root@u5pvr-debian:~# mkdir -p /home/mk802

# /home/mk802 디렉터리 생성

root@u5pvr-debian:~# pure-pw useradd mk802 -u 1023 -g 1028 -d /home/mk802 -m

# mk802 계정 생성

Password:

Enter it again:

root@u5pvr-debian:~# cd /home/mk802

root@u5pvr-debian:/home/mk802# ln -s /mnt/sda/sda1 disk1

# sda1 을 disk1 과 심링크

root@u5pvr-debian:/home/mk802# ls

disk1

root@u5pvr-debian:/home/mk802#


mk802 계정으로 접근을 해 보도록 하겠습니다.




설정한 구성대로 작동이 잘 됩니다. 이처럼 원하는 방식대로 폴더를 심링크하여 홈폴더를 구성하실 수 있습니다.


기본적으로는 /mnt 를 홈폴더로 잡으면 모든 디스크에 접근이 가능하게 되어 있습니다.


폴더를 여러번 진입하는 것이 귀찮으시면 /mnt/sdcard 등을 홈폴더로 지정하면 됩니다. 그러나 다른 디스크에 접근을 할 수가 없기 때문에 심링크를 통한 작업을 하시면 더욱 더 편하게 사용이 가능합니다.



3. 외부접속을 위한 포트포워딩 하기


포트포워딩의 정보는 아래와 같습니다.


TCP 21

TCP 49152 ~ 65534


아이피 타임 공유기 기준으로는 아래와 같이 포워딩을 합니다.



21 번 포트 말고 다른 포트를 사용하셔도 되고 저는 2211 포트를 사용합니다.


패시브 포트는 설정해 주신대로 해주시면 됩니다. 기본값으로 위의 사진으로 설정하시면 됩니다.


감사합니다.


http://cafe.naver.com/mk802/20231


+ Recent posts