컴퓨터

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

Luyin 2015. 7. 19. 09:47

라즈베리파이 에서 사용할 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