라즈베리파이를 NAS처럼 사용하려면 가장 중요한 것이 vsftpd
$sudo apt-get install vsftpd
vsftpd를 설치하고 바로 ftp 클라이언트 프로그램으로
pi 계정을 통하여 접속을 시도 하면
530 This FTP sever in anonymouse only 라고 하며 접속이 되지 않는다
vsftpd의 설정파일을 수정하여 설정을 변경 해야 한다
라즈베리 파이를 잘 모르는 친구들과 같이 사용할 ftp서버라서
행여나 SD카드에 자료를 업로드 할지도 몰라서
관리자 계정 외의 다른 계정은 외장 하드 외의 다른 디렉토리의 접근을 제한 하려한다
vsftpd의 기능중 계정의 홈 디렉토리의 상위 디렉토리의 접근을 제한하는 기능이 있어서 해당 기능을 사용한다
guest 계정의 홈 디렉토리를 외장하드의 내부의 디렉토리로 설정한다
$usermod -d [디렉토리] [계정명]으로 guest 계정의 홈 디렉토리를 변경한다
/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 : 리스트 파일의 위치
위 설정값으로 설정을 하고
/etc/vsftpd.chroot_list 파일의 내용을 위와 같이 pi로 하면
pi 계정은 홈 디렉토리의 상위 디렉토리에 접근이 가능하지만
이 외의 다른 계정은 자신의 홈 디렉토리의 상위 디렉토리에 접근이 불가능 하다
설정이 끝나면 $sudo service vsftpd restart 명령으로 vsftpd를 재시작 해주어서
새로운 설정으로 다시 동작하게 한다
그리고 ftp 클라이언트 프로그램으로 접속을 해보면
위와 같이 pi의 홈 디렉토리의 상위 디렉토리에 접근이 가능하지만
그 외의 계정인 guest 계정으로 접근을 해보면 위와 같이 해당 홈 디렉토리의 상위 디렉토리는 접근 할 수 없다