1번부터 3번까지는 자동 마운트 계정 생성 예제 게시글과 동일한 방법으로 진행하므로 자세한 내용은 생략한다.
1) 디렉토리 구조 확인 (1 ~ 2 번 결과)
2) /etc/passwd 계정 정보 확인 (1 ~ 2 번 결과)
3) /etc/group 그룹 정보 확인 (1 ~ 2 번 결과)
4) 접속 위치 확인 (1 ~ 2 번 결과)
5) vsftpd 방화벽 설정
firewall-cmd --permanent --add-port 21/tcp
firewall-cmd --permanent --add-port=50000-50005
firewall-cmd --reload
firewall-cmd --list-all
FTP 는 21 번 포트를 사용하며, passive 모드 데이터 전송은 50000 ~ 50005 번 포트를 사용할 예정이므로 위와 같이 해당 포트들에 대한 방화벽을 해제한다.
6) 3번 문제
chroot_local_user=YES -> 디렉토리 이동 제한, 홈 디렉토리 내에서만 작업
allow_writeable_chroot=YES -> 홈 디렉토리 쓰기 권한
chroot_list_enable=YES -> 디렉토리 이동 제한 예외리스트 활성화
chroot_list_file=/etc/vsftpd/chroot_list -> 디렉토리 이동 제한을 예외 처리할 목록 파일
ftp10 계정을 제외한 모든 계정들은 홈 디렉토리 상위로 접근이 제한되도록 다음과 같이 설정한다.
korea10 계정으로 접속하면, 홈 디렉토리가 최상위 디렉토리가 되어 상위 디렉토리 구조를 확인할 수 없다.
그러나 ftp10 계정으로 접속하면, 상위 디렉토리 구조까지 확인이 되는 것을 확인할 수 있다.
7) 4번 문제
anonymous_enable=YES -> 익명 계정 접속 허용
anon_root=/export/sdc/home/anon -> 익명 계정 접속 위치
/etc/vsftpd/vsftpd.conf 파일의 익명 계정 관련 필드의 값을 다음과 같이 수정한다.
8) 5번 문제
userlist_enable=YES -> userlist 기능 활성화
userlist_deny= YES(접근거부) -> no_access 개념
NO (접근 허가) -> only_from 개념
userlist_file=/etc/vsftpd/sevas_list -> 적용할 파일
sevas_list 파일 목록에 작성된 계정들만 접속을 허용하며, 타 계정들은 접속이 불가능하도록 설정하였다. sevas 계정은 ID 단계에서는 접근되며, PW 단계에서 차단되어야 하므로 함께 작성한다.
/etc/vsftpd/ftpusers 파일에 작성된 계정들은 PW 입력 단계에서 접속이 불가능하므로, 다음과 같이 파일을 작성한다.
main 계정은 user_list 목록에 존재하지 않으므로, 접근이 거부되는 것을 확인할 수 있다.
sevas 계정은 user_list 목록에 존재하므로 접근이 허용되지만, ftpusers 파일 목록에 존재하므로 PW 단계에서 거부되는 것을 확인할 수 있다.
9) 6번 문제
systemctl vsftpd enable
systemctl list-unit-files | grep vsftpd
vsftpd 데몬이 부팅 시 자동 실행되도록 다음과 같이 설정한다.
10) 7번 문제
pasv_enable=yes -> passive 모드 활성화
pasv_min_port=50000
pasv_max_port=50005
FTP passive 모드를 활성화하며 50000 ~ 50005 포트를 통해 데이터 전송을 수행하도록 설정한다.
11) ftp10 계정 파일 업로드 및 다운로드
ftp10 계정을 passive 모드로 접속하여 파일 전송을 수행해보자.
서버에서 클라이언트로 파일을 다운로드할 때, 패킷을 캡쳐하였다. (RETR)
마찬가지로 클라이언트에서 서버로 파일을 업로드할 때, 패킷을 캡쳐하였다. (STOR)
둘 다, 50000 ~ 50005 범위의 포트를 통해 파일 전송을 수행한 것을 확인할 수 있다.
공부하면서 정리한 내용을 글로 작성하였습니다.
혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다. :)
'OS > Rocky' 카테고리의 다른 글
[Linux / Rocky] DNS Round-Robin 부하 분산 (0) | 2025.03.04 |
---|---|
[Linux / Rocky] DNS 영역 전달 (0) | 2025.03.04 |
[Linux / Rocky] 리눅스 FTP (File Transfer Protocol) 서비스 (0) | 2025.02.11 |
[Linux / Rocky] 프로세스 스케줄링 (작업 예약) (0) | 2025.01.29 |
[Linux / Rocky] 리눅스 프로세스 관리 (0) | 2025.01.28 |