작성일 : 12-02-16 조회 : 1,201 |
1. FTP 환경설정파일 수정
~# vi /etc/vsftpd/vsftpd.conf
# 문서하단에 추가
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
2. chroot_list 파일안에, root 추가 (이파일안에 등록된 USER는 상위디렉토리 접근제한을 받지 않는다.)
~# vi /etc/vsftpd/chroot_list
root
|
vsftp, ftp 사용자 폴더를 제외한 다른 폴더 접근제한
1)파일을 편집
/etc/vsftpd/vsftpd.conf
chroot_local_user=YES 추가
2)ftp demon restart
/etc/init.d/vsftpd restart
*다음의 파일에 등록된 사용자들은 FTP 접속이 불가능
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
-------------------------------------------------------------------------------
1. ftpusers와 vsftpd.chroot_list 차이
/etc/ftpusers 과 chroot_list_file=/etc/vsftpd.chroot_list 파일은 용도가 다릅니다.
* /etc/ftpusers : 이건 접속을 제한하는 것입니다. 즉, 여기에 등록된 ID는 ftp 접속 자체를 할 수 없습니다.
* /etc/vsftpd.chroot_list : 여기에 써진 ID는 접속할 수 있습니다.
다만, 자신의 홈디렉토리를 벗어날 수(상위디렉토리로 갈 수) 없습니다.
이를테면 홈이 /home/truefeel/ 일 때 /home/truefeel/ 를 벗어난 /etc, /home, /usr 등을 갈 수 없다는 것입니다.
이해되시나요?
보안상 홈보다 상위 디렉토리로 이동하는 것을 제한하는 경우가 많습니다.
2. chroot_local_user 와 chroot_list_enable 설정을 함께 사용할 때
제가 쓴 글을 다시 인용하여 설명하겠습니다.
인용: |
3) 사용자가 홈디렉토리를 못 벗어나게 하고 싶는데?
/etc/vsftpd.conf에 다음을 추가하면, 모든 사용자는 자신의 홈디렉토리만 접근할 수 있다.
chroot_local_user=YES
또한 특정 사용자로만 제한을 하고 싶다면 다음과 같이 한다. /etc/vsftpd.chroot_list에는 제한할 사용자 ID를 한줄에 하나씩 나열하면 된다.
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
주의할 것은 chroot_local_user=YES와 chroot_list_enable=YES를 함께 사용할 경우에는 /etc/vsftpd.chroot_list에 포함된 사용자 ID만 제한없이 홈디렉토리를 벗어날 수 있다. 즉, 반대로 작용한다.
|
위의 내용을 설정부분만 뽑으면 이렇습니다.
1) 조건 1
코드: |
chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
|
이런 경우는 /etc/vsftpd/chroot_list 파일에 설정한 ID는 홈디렉토리를 벗어날 수(즉, 상위로 갈 수) 없습니다.
2) 조건 2
코드: |
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
|
이런 경우는 /etc/vsftpd/chroot_list 파일에 설정한 ID만 홈디렉토리를 벗어날 수(즉, 상위로 갈 수) 있습니다.
즉, 조건1과는 반대로 되는 것입니다.
3. 특정 IP를 막을 때
레드햇의 자체 vsftpd rpm은 tcp wrapper를 통해 IP제한을 할 수 있습니다.
님의 말씀대로 이걸 이용하거나 iptables를 통해서 막으면 되겠네요.