본문 바로가기
컴퓨터

[8][라즈베리파이 홈서버 구축] FTP 서버 vsftpd

by Luyin 2015. 7. 19.

라즈베리파이 에서 사용할 FTP 서버 설치법에 대해서 다뤄보고조 한다. 

또한, Filzilla FTP Server 윈도우 버전과의 유저 계정 설정에 대한 차이점도 함꼐 설명해 보겠다.



vsFTPd (라즈베리파이용 FTP 서버) 설치 방법 및 폴더 변경


1. ysftpd 설치

sudo apt-get install vsftpd

2. ysftpd 에서 사용할 계정 생성 또는 폴더 변경

ysftpd 는 FTP 접속시 리눅스에 생성된 계정(로컬 계정)을 사용한다. 따라서 vsftpd에 특정 ID로 접속하고 싶다면 그 ID로 리눅스 유저 계정을 생성해줘야 한다. 또한 그 ID로 접속시 계정에 설정되어 있는 기본 폴더로 접속된다.


2.1 리눅스 계정 생성 및 폴더 지정

sudo useradd -d [폴더경로] [계정ID]

ex) sudo useradd -d /home/pi/exthdd1/Music Music

2.2 생성되어 있는 계정의 지정 폴더 변경

sudo usermod -d [폴더경로] [계정ID]

sudo usermod -d /home/pi/exthdd1/Music Music


3. ysftpd의 세부설정 변경

ysftpd 는 초기 설치시 guest 권한의 접속만 허용하게 되어 있다. 리눅스 유저 계정(로컬 계정)으로 로그인 하기위해서는 별도의 추가 설정이 필요하다.


3.1 설정파일 수정

sudo vi /etc/vsftpd.conf


아래의 내용과 같이 주석을 해제하고 설정 값을 수정한다.


anonymous_enable=NO 익명 사용자 접속 제한

local_enable=YES 로컬 계정의 사용자 접속 허가

chroot_list_enable=YES 사용자가 ftp에 접속 하였을 경우 chroot를 사용

chroot_list_enable=YES 상위 디렉토리로 접속을 제한 할 계정들을 적으 놓은 리스트 사용 여부

chroot_list_file=/etc/vsftpd.chroot_list : 상위 디렉토리로 접속을 제한할 계정의 리스트가 저장되어 있는 파일의 위치


3.2 접속 계정 제한 사항 설정

sudo vi /etc/vsftpd.chroot_list 


/etc/vsftpd.chroot_list 파일의 내용에 FTP 접속시 사용할 계정 ID를 기록한다.

여기 기록된 계정은 홈 디렉토리의 상위 디렉토리에 접근이 가능하지만, 이 외의 다른 계정은 자신의 홈 디렉토리의 상위 디렉토리에 접근이 불가능하다.


4. 리눅스 계정 생성(로컬 계정 생성)

4.1 계정생성

sudo useradd -d [폴더경로] [계정ID]

지정한 폴더를 기본 폴더로 계정 ID가 생성된다. 3.2에서 입력한 계정ID와 동일한 ID여야 한다.


4.2 계정 비밀번호

sudo passwd [계정ID]

계정의 접속 비밀 번호를 변경한다. FTP 접속시에도 동일한 비밀번호를 사용한다.


5. vsFTPd 재시작

sudo service vsftpd restart