System/CentOS | Ubuntu

[CentOS 6] vsftp 사용자 허용 및 제한(chroot, user_list, ftpusers)

jykim23 2019. 7. 24. 17:38

vsftp 설치 방법

 

 

설정들을 직접 확인하고 어떤 차이가 있는지 설정값을 변경하며 비교해보았습니다.

 

혹시 저처럼 입문자이시면 직접 해보면서 어떤 느낌으로 작동되는지 이해하면 좋을 거 같습니다.

 

 

 

두 가지 경우를 비교하겠습니다.

1. chroot

 -> ftp 사용자가 계정으로 접속을 했을 때 해당계 정의 홈 디렉터리의 상단으로 접근이 되지 않게 하는 기능입니다.

 

2. user_list, ftpusers

 -> 사용자의 접근을 허용 혹은 거절하는 기능입니다.

 

 

 

 

 

1. chroot

 

 

대충 만든 표: 과정을 꼭 확인해주세요.

접속 가능 유저 chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES user1 user2
chroot_list_enable=NO - user1, user2

 

 

 

 

 

1.0 공통 및 설명

 

user1, user2 두 사용자를 비교하며 실습하였습니다. 

user1chroot_list에 등록하였습니다.

 

# vi /etc/vsftpd/chroot_list
user1 -> 추가

 

 

1.1

# vi /etc/vsftpd/chroot_list

=====================================
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

user1
chroot 상위 디렉터리 접근 가능

user2
chroot 상위 디렉토리 접근 불가

 

1.2

# vi /etc/vsftpd/chroot_list
======================================
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

user1
chroot 상위 디렉토리 접근 불가

user2
chroot 상위 디렉토리 접근 가능

 

1.3

# vi /etc/vsftpd/chroot_list
=====================================
chroot_local_user=YES
chroot_list_enable=NO
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

user1
chroot 상위 디렉토리 접근 불가

user2
chroot 상위 디렉토리 접근 불가

 

1.4(default)

# vi /etc/vsftpd/chroot_list
=====================================
chroot_local_user=NO
chroot_list_enable=NO
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

user1
chroot 상위 디렉토리 접근 가능

user2
chroot 상위 디렉토리 접근 가능

 

 

 

 

 

 

 

 

2. user_list, ftpusers

리스트 파일 비교 

 

대충 만든 표: 과정을 꼭 확인해주세요.

사용자 접속 가능 여부 ftpusers user_list user_list, ftpusers x
userlist_deny=YES  x x x o
userlist_deny=NO x o x o

 

 

 

 

2.0 공통 및 설명

사용자: root

 

2.1 실습 환경 설정

# vi ftpusers

root

 

# vi user_list

# root -> 주석처리

 

 

2.1

========================================== 
userlist_deny=YES
ftpusers 등록
user_list 미등록
----
사용자(10.0.0.14:(none)): root
331 Please specify the password.
암호:
530 Login incorrect.
로그인하지 못했습니다.

-> 로그인 비밀번호까지 가능. 그러나 로그인 안됨.

 

 

2.2
==========================================
userlist_deny=YES
ftpusers 미등록
user_list 등록
----
사용자(10.0.0.14:(none)): root
530 Permission denied.
로그인하지 못했습니다.

-> 접근 권한 거절됨

user_list가 ftpusers보다 먼저 적용됨!

 

 

2.3
========================================== 
userlist_deny=YES 
ftpusers 등록 
user_list 등록 
---- 
사용자(10.0.0.14:(none)): root 
530 Permission denied. 
로그인하지 못했습니다. 

-> 접근 권한 거절됨

 

 

2.4
==========================================
userlist_deny=YES
ftpusers 미등록
user_list 미등록
----
사용자(10.0.0.14:(none)): root
331 Please specify the password.
암호:
230 Login successful.

-> 성공

 

 

 

2.5

========================================== 
userlist_deny=NO
ftpusers 등록 
user_list 미등록 
---- 
사용자(10.0.0.14:(none)): root
331 Please specify the password.
암호:
530 Login incorrect.
로그인하지 못했습니다.

 

 

2.6
========================================== 
userlist_deny=NO
ftpusers 미등록 
user_list 등록 
---- 
사용자(10.0.0.14:(none)): root
331 Please specify the password.
암호:
230 Login successful.

-> 성공

 

 

2.7
========================================== 
userlist_deny=NO
ftpusers 등록 
user_list 등록 
---- 
사용자(10.0.0.14:(none)): root
331 Please specify the password.
암호:
530 Login incorrect.
로그인하지 못했습니다.



 

2.8
========================================== 
userlist_deny=NO
ftpusers 미등록 
user_list 미등록 
---- 
사용자(10.0.0.14:(none)): root
331 Please specify the password.
암호:
230 Login successful.

-> 성공 

 

 

 

===========================
========로그인 단계 추측========
1단계 - user_list 확인
접속 불허 - 530 Permission denied.
접속 허용 - 2단계


2단계 - ftpusers 확인
접속 불허 - 530 Login incorrect.
접속 허용 - 230 Login successful.
============================

 

 

 

 

 

 

 

이상 똥꼬쇼 실습이었습니다.

감사합니다.