컴퓨터 IT 오디오/라즈베리파이 활용하기

6. 라즈베리파이2 - ftp서버 설치하기(Vsftpd, pure-ftp)

Naturis 2015. 5. 6. 17:42
반응형

기본적으로 라즈베리파이 운영체제에는 ftp 서비스 프로그램이 저장되어 있습니다. 

저장되어 있지 않다면 update로 다운받으면 됩니다.  ("sudo apt-get update")

깔려있지 않으면 깔면 되구요..

 

우선 자신의 라즈베리파이에서 이용가능한 ftp가 뭐가 있는지 확인해봅니다.

"sudo apt-cache search ftp-server"

 

 

위에서 여러 종류의 ftp를 볼 수 있는데 그 중에 가볍고 쉽고 보안도 쓸만한 pure-ftp와 vsftp를 깔아보겠습니다.

 

VSFTP 서버 설치 사용하기

 

1. Vsftp를 설치한다. (Vsftpd가 가볍고 보안도 갖춘 효율적인 ftp서버다)

"sudo apt-get install vsftpd"

(만약 설치가 않되면 "sudo apt-get update" 로 업데이트를 한번 해주고 다시 설치한다)


2. Vsftp 설정하기

"sudo nano /etc/vsftpd.conf"


아래 설정 부분을 편집해준다. (뒤에 #는 그냥 주석일뿐입니다)

 

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES

ftpd_banner=Welcome to my FTP service. 

user_sub_token=$USER
local_root=/home/$USER/ftp

 

<기타설정>

Listen = ON    
# Vsftpd를 standalone 모드로 실행한다.

listen_ipv6=YES   
# IPv6 대신 IPv4


3. Vsftpd 재시작

"sudo service vsftpd restart"

 

4. ftp폴더 설정

: 위 설정에서 ftp 접속후 /ftp 폴더가 사용자의 루트 폴더가 되며 쓰기허용되어 있지 않다. 따라서 하위 폴더를 만들고 쓰기를 허용해야 한다.

"mkdir /home/<user>/ftp"
"chmod u+w /home/<user>/ftp"

:<user> 부분이 사용자계정, 예를 들면 pi 이며, 하위폴더로 ftp와 files를 생성한후 쓰기권한을 준 것이다.

[참고] chmod에 대해서는 아래 링크를 참고하시길.

http://eunguru.tistory.com/93

http://en.wikipedia.org/wiki/Chmod

 


4. 클라이언트에서 접속시도

1) 윈도우즈에서 FTP 클라이언트 다운로드한다( 예) FileZilla

- FileZilla 다운로드 오피셜 링크 : https://filezilla-project.org/download.php?type=client

: 클라이언트를 다운받으면 됩니다. 인스톨시 처음에 쓸데없는 것 깐다고 나오는데 패쓰하면 됩니다.

 

2) FTP 접속시도 (FileZilla의 예)

이제 접속을 합니다. 호스트 주소는 sftp://ip 주소 또는 그냥 ip주소만 적어도 됩니다. 사용자명이랑 비밀번호를 넣고 포트는 22번 그리고 빠른 연결~

위와 같이 접속을 하면 앞에서 생성한 ftp 디렉토리 등이 보이실 겁니다..

이제 원하는 파일 업다운로드를 하면 됩니다.

 

 

 

Pure-FTP 서버 설치하기

 

pure-ftp는 여기저기 참고해서 설치했는데 Vsftp와 비슷합니다..  

 

1. 설치

"apt-get install pure-ftpd-common pure-ftpd"

 

2. 시스템그룹 생성

"groupadd ftpgroup : 시스템그룹 생성

 

3. 시스템 유저 생성

"useradd -g ftpgroup -d /dev/null -s /etc ftpuser

 : 시스템 유저 ftpuser...홈디렉토리도 없음. 이후로 가상의 유저들의 유지관리는 "pure-pw" 명령어로 만들어질 수 있다..

 

 

4. 실제 유저 생성 및 삭제

"mkdir /home/songsari"
"chmod u+w /home/songsari"

- "pure-pw useradd songsari -u ftpuser -g ftpgroup -d /home/pubftp/songsari -N 100" 

: /home/pubftp/songsari를 root 디렉토리로하고 100MB 공간만큼의 권한을 가진 songsari 라는 유저 생성.

 

- "chown ftpuser / home / pubftp / songsari -R" : 폴더에 쓰기 권한.

- "pure-pw passwd songsari"  : songsari의 패쓰워드 변경

- "pure-pw userdel songsari" : 유저 삭제

 

5. DB업데이트 : 생성한 유저 정보를 업데이트 함. 디폴트로 /etc/pureftpd.passwd 에 저장.

- "pure-pw mkdb" : 업데이트. 위의 작업후 항상 업데이트 필요.

- "pure-pw list" : 유저 정보 보기

- "pure-pw show anyuser" : 특정 유저의 정보 보기

 

 

5. 설정

-"nano /etc/default/pure-ftpd-common"  으로 수정가능.

- 예) standalone 으로 설정 : STANDALONE_OR_INETD=inetd  를 STANDALONE_OR_INETD=standalone 으로 고칠것(디폴드가 standalone) 

 

6. pure-ftp 시작, 정지

- "service pure-ftpd start"  또는 "/etc/init.d/pure-ftpd start"  : 시작하기

- " /etc/init.d/pure-ftpd stop" 또는 "/etc/init.d/pure-ftpd stop"  : 정지.

- "service pure-ftpd restart" 또는 "/etc/init.d/pure-ftpd restart" : 재시작

 

- "service pure-ftpd status"  또는 "/etc/init.d/pure-ftpd status" : 서비스 상태 보기

- "netstat -tulpn" : pure-ftp가 작동중인지 확인

- "pure-ftpd -help" : 옵션 보기

 

7. 기타 명령어

- "killall pure-ftpd" : 연결중인 사용자 모두를 즉시 연결해제

- "pure-ftpwho" : 서버 상태 보기

 

<라즈베리파이 활용>

1. 라즈베리파이2 모델B 스펙 설명 및 개봉 - http://naturis.kr/2056

2. 라즈베리파이2-B에 pcm5122 붙이고 Volumio 작동 - http://naturis.kr/2078

3. 라즈베리파이2 - SD카드 복제(duplicate)하기 - http://naturis.kr/2084

4. 라즈베리파이2 - Putty를 통한 원격 컨트롤 (PC와 스마트폰에서) - http://naturis.kr/2086

5. 라즈베리파이2 - 운영체제 설치 및 파일서버 만들기 - http://naturis.kr/2063

6. 라즈베리파이2 - ftp서버 설치하기(Vsftpd, pure-ftp) - http://naturis.kr/2091