FTP 서비스 제한 (chroot 실습)
chroot 설정
** chroot : 사용자 계정의 home 디렉토리를 root로 변경
#chroot_local_user=YES (d:No)
#chroot_list_enable=YES
- chroot_local_user가 NO일 때 chroot_list_file에 지정된 사용자만 chroot를 적용한다.
- chroot_local_user가 YES일 때 chroot_list_file에 지정된 사용자만 chroot를 적용하지 않는다.
#chroot_list_file=/etc/vsftpd/chroot_list
- Default 값 : /etc/vsftpd/chroot_list
#allow_writeable_chroot=YES
- chroot 적용 사용자의 경우 이 설정이 반드시 필요하다.
• chroot 설정은 외부 디렉토리로 연결된 link 디렉토리에 접근도 금지된다.
mount 명령을 이용하여 외부 링크파일 디렉토리로 접근 가능
mount --bind [원본 디렉토리] [연결할 디렉토리]
test case
case 1. chroot_local_user = YES / chroot_list_enable = YES
case 2. chroot_local_user = NO / chroot_list_enable = YES
case 3. chroot_local_user = YES / chroot_list_enable = NO
case 4. chroot_local_user = NO / chroot_list_enable = NO
접속계정 : st(chroot_list설정), te
case 1. chroot_local_user = YES / chroot_list_enable = YES
1) vi /etc/vsftpd/vsftpd.conf
2) /etc/vsftpd/chroot_list 파일에 일반사용자 st를 넣어준다.
3) ftp 서비스를 재시작한다.
systemctl restart vsftpd
4) 192.168.10.130 클라이언트에서 ftp 접속
chroot_list에 등록한 사용자 st로 로그인하면 디렉토리 이동이 가능하다.
chroot_list에 등록하지 않은 사용자 te로 로그인하면 자신의 home 디렉토리를 루트로 인식한다.
▶ chroot_local_user 가 YES, chroot_list_enable 가 YES 이면 chroot_list 파일에 있는 사용자는 chroot를 적용하지 않는다.
case 2. chroot_local_user = NO / chroot_list_enable = YES
1) vi /etc/vsftpd/vsftpd.conf
2) /etc/vsftpd/chroot_list 파일에 일반사용자 st를 넣어준다.
3) ftp 서비스를 재시작한다.
systemctl restart vsftpd
4) 192.168.10.130 클라이언트에서 ftp 접속
chroot_list에 등록한 사용자 st로 로그인하면 자신의 홈 디렉토리를 루트로 인식한다.
chroot_list에 등록하지 않은 사용자 te로 로그인하면 상위 디렉토리로 이동이 가능하다.
▶ chroot_local_user 가 NO, chroot_list_enable 가 YES 면 chroot_list 파일에 있는 사용자는 chroot를 적용한다.
case 3. chroot_local_user = YES / chroot_list_enable = NO
1) vi /etc/vsftpd/vsftpd.conf
cat /etc/vsftpd/vsftpd.conf | grep chroot
2) /etc/vsftpd/chroot_list 파일에 일반사용자 st를 넣어준다.
3) ftp 서비스를 재시작한다.
systemctl restart vsftpd
4) 192.168.10.130 클라이언트에서 ftp 접속
chroot_list에 등록한 사용자 st로 로그인하면 자신의 홈 디렉토리를 루트로 인식한다.
chroot_list에 등록하지 않은 사용자 te로 로그인하면 자신의 home 디렉토리를 루트로 인식한다.
▶ chroot_local_user 가 YES, chroot_list_enable 가 NO 이면 chroot_list 파일에 상관없이 사용자 모두 chroot를 적용한다.
case 4. chroot_local_user = NO / chroot_list_enable = NO
1) vi /etc/vsftpd/vsftpd.conf
cat /etc/vsftpd/vsftpd.conf | grep chroot
2) /etc/vsftpd/chroot_list 파일에 일반사용자 st를 넣어준다.
3) ftp 서비스를 재시작한다.
systemctl restart vsftpd
4) 192.168.10.130 클라이언트에서 ftp 접속
chroot_list에 등록한 사용자 st로 로그인하면 디렉토리 이동이 가능하다.
chroot_list에 등록하지 않은 사용자 te로 로그인하면 상위 디렉토리로 이동이 가능하다.
▶ chroot_local_user 가 NO, chroot_list_enable 가 NO 이면 chroot_list 파일에 상관없이 사용자 모두 chroot를 적용하지 않는다.
chroot 로 지정된 사용자 계정 마운트 실습
chroot를 지정해준 st 사용자는 자신의 홈 디렉토리가 / 라 /외부에 있는 곳은 접근 불가능
ftp를 통해 192.168.10.133 서버에 접속하여 st로 로그인하면 자신의 홈 디렉토리를 / 로 인식한다.
/home 디렉토리와 /home/st 디렉토리 하위에 mkdir 명령으로 abc라는 디렉토리 생성
st 사용자 계정 밑에도 마운트할 abc 디렉토리를 생성해준다.
192.168.10.130 컴퓨터에서 ftp접속해서 st 계정에서 잘 마운트 되었는지 확인한다.
'리눅스 공부 기록' 카테고리의 다른 글
FTP 실습 3 - FTP 사용자 제한 (0) | 2021.11.11 |
---|---|
FTP 실습 2 - IP 별로 접속 제한 (0) | 2021.11.11 |
리눅스 16 - FTP (+ 실습) (0) | 2021.11.11 |
DNS 서버 구축 실습 3 - 도메인 위임 (0) | 2021.11.10 |
DNS 서버 구축 실습 2 - 다중 도메인, 캐시네임 서버 구축, Slave name server 구축 (0) | 2021.11.09 |