여기까지 설정한 것만으로 이미 sftp 서비스는 이용 가능하지만 sftp를 지원하지 않는 어플리케이션이 있어 부득이하게 ftp가 필요한 경우가 있습니다. 이를 위해 vsftp를 설치합니다. 

sudo apt-get install vsftpd -y

설정 후 /etc/vsftpd.conf를 sudo 권한으로 열어 다음의 내용을 수정합니다. 

chroot_local_user=YES 
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list 
pam_service_name=ftp

chroot_local_user는 접속한 유저가 상위 폴더로 이동할 수 없게 합니다. 

chroot_list_enable을 YES로 해두면, chroot_list_file에 정의한 경로의 파일에 적힌 사용자는 상위 폴더로 이동할 수 있게 됩니다. 

sudo 권한으로 /etc/vsftpd.chroot_list 파일을 열어 상위폴더 이동 권한을 줄 아이디를 입력하면 됩니다. 

 

** 다음팟과 같은 프로그램에서는 상위폴더 이동 제한 기능을 사용할 경우 ftp 기능이 제대로 작동하지 않는 것을 볼 수 있습니다. 이 때, pam_service_name을 vsftp에서 ftp로 수정하면 정상적으로 작동합니다. **

 

vsftpd 서비스를 재시작합니다. 

sudo service vsftpd restart

 

추가 계정을 생성했을 때, 이 계정의 SSH 접근을 막고 ftp만 이용하게 하고 싶다면, /etc/passwd 파일을 sudo 권한으로 열어 추가 계정의 bin/bash 부분을 bin/false로 수정하면 됩니다. 

 

+ Recent posts