우분투 12.04에 설치한 vsftpd에서 사용자로 로그인하였을 경우 홈디렉터리 이외에는 이동을 제한하는 방법을 정리하고자 한다.

 

apt-get 명령어로 설치한 vsftpd의 버전은 2.3.5이다.

 

1. vi 명령어로 /etc/vsftpd.conf 파일을 열어 아래 설정을 주석해제 한다.

chroot_local_user=YES

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

 

2. service 명령어로 vsftpd를 재시작해준다.

# service vsftpd restart

 

3. vi 명령어로 /etc/vsftpd.chroot_list 파일을 열어 홈디렉터리 이동을 제한을 하지 않을 계정을 등록한다.

즉 /etc/vsftpd.chroot_list 파일에 등록되지 않은 사용자는 홈디렉터리 이외에는 이동이 제한된다.

# vi /etc/vsftpd.chroot_list

var

 

4. 홈디렉터리 이동을 제한할 계정을 FTP로 접속해 본다.

 

5. 만약 아래와 같은 에러가 발생한다면 6번의 명령을 사용하여 사용자 홈디렉터리의 write 퍼미션을 제거해준다.

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

 

6. foo 사용자 홈디렉터리의 write 퍼미션을 제거하는 예는 다음과 같다.

# chmod a-w /home/foo

 

5번과 같은 방법을 사용하면 GUI를 사용하는 로그인에는 문제가 발생할 수 있다고 한다.

근본적인 문제해결이 되지는 않지만 급한대로 사용할 만하다.



우분투 16.04.1을 설치한 상태에서 vsftpd를 설치하면 버전 3.대가 설치된다.

이 때에는 아래와 같은 옵션을 추가한다.

chroot_local_user=YES

allow_writeable_chroot=YES

Posted by dcmru
,