Linux 서버 FTP Server 구성 가이드
Linux 서버 운영 관점에서 Linux 서버 FTP Server 구성 가이드의 목적, 구성 흐름, 실행 전 확인할 항목을 정리한 기술 노트입니다. 원문 핵심: ftp server 리눅스에서 ftp를 사용하기 위해서는 vsftpd라는 프로세스를 설치해주어야 한다 클라이언트에서는 ftp 프로세스를 사용할 예정이다 [vsftpd 관련 파일] 데몬 : /usr/s...
핵심 요약
- Linux 서버 운영 업무에서 Linux 서버 FTP Server 구성 가이드를 빠르게 검토할 수 있도록 원문을 운영 절차 중심으로 재구성했습니다.
- 실습/설정/로그 내용은 보존하되, 적용 범위와 검증 포인트를 먼저 확인할 수 있게 정리했습니다.
- 원문 핵심: ftp server 리눅스에서 ftp를 사용하기 위해서는 vsftpd라는 프로세스를 설치해주어야 한다 클라이언트에서는 ftp 프로세스를 사용할 예정이다 [vsftpd 관련 파일] 데몬 : /usr/sbin/vsftpd 설정파일 : /etc/vsftpd/vsftpd.conf PAM 모듈 : /etc/pam.d/vsftpd 접근 제한 파일 : /etc/vsftpd/ftpusers /etc/vsftpd/user_li...
적용 범위
이 글은 Linux 서버 운영 영역에서 Linux 서버 FTP Server 구성 가이드를 검토하는 사람을 위한 정리본입니다. 원문은 네이버 블로그에 작성된 실습/메모를 기반으로 하며, 현재 환경에 적용할 때는 명령어와 설정값을 반드시 재검증해야 합니다.
정리된 본문
ftp server
리눅스에서 ftp를 사용하기 위해서는 vsftpd라는 프로세스를 설치해주어야 한다

클라이언트에서는 ftp 프로세스를 사용할 예정이다

[vsftpd 관련 파일]
데몬 : /usr/sbin/vsftpd
설정파일 : /etc/vsftpd/vsftpd.conf
PAM 모듈 : /etc/pam.d/vsftpd
접근 제한 파일 : /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
먼저 /etc/vsftpd/vsftpd.conf 파일에서 설정을 해준다



설정을 완료한 후 서비스 재시작 해주고 chroot_list 파일을 꼭 만들어줘야 한다

ftp를 사용할 클라이언트 계정을 생성해준다 (bc_app)

만들어준 계정으로 ftp 접속을 하면 기본적으로 chroot가 적용된 상태임을 알 수 있다

해당 상태에서 먼저 실제로 적용된건지 파일을 만들어서 클라이언트에서도 보이는지 테스트 해봤다


chroot 관련 테스트를 위해 /etc/vsftpd/chroot_list 파일에 bc_app 유저를 추가해본후 테스트 했다


결과적으로 chroot가 적용되지 않은 것을 확인할 수 있다
이처럼 chroot_local_user 옵션과 chroot_list_enable 옵션이 모두 YES 상태일땐, chroot_list에 유저를 추가하면 해당 유저는 chroot가 적용되지 않고 추가되지 않은 유저들은 모두 chroot가 적용됨을 알 수 있다
FTP는 설치 후 기본적으로 제한이 없는 상태인데 안전한 운용을 위해서는 접속 제한 설정이 필요하다
접속 제한에는 두가지 방법이 있는데 ip로 제한하는 방법과 user별로 제한하는 방법이 있다
밑에 실습에서 두가지 방법을 모두 사용해보고자 한다
[ip로 제한하는 방법]
먼저 ip로 제한하려면 vsftpd.conf 파일에서 tcp_wrappers를 YES로 설정해줘야 한다

설정이 완료된 상태에서 /etc/hosts.allow와 /etc/hosts.deny 파일에 원하는 ip를 추가해주면 ip별로 제한을 할 수 있다
1. /etc/hosts.allow
해당 파일에 ip등록시 등록된 ip만 접속이 가능하다


2. /etc/hosts.deny
해당 파일에 ip등록시 등록된 ip만 접속이 불가능 하다


[user별로 제한하는 방법]
user별로 제한하려면 기본적으로 vsftpd.conf 파일에 userlist_enable 옵션이 YES로 설정되어 있어야 한다
해당 설정과 함께 userlist_deny 옵션도 설정해줘야 하는데 해당 옵션이 YES일때 user_list 파일에 등록된 user는 접속이 불허되고 해당 옵션이 NO일때 접속이 허가된다
먼저 user_list에 bc_app을 추가한다

1-1. userlist_enable=YES, userlist_deny=NO 일때


1-2. userlist_enable=YES, userlist_deny=YES 일때


2. user_list로 설정이 불가능한 ftp 프로그램이면, PAM(Pluggable Authentication Module)에 의한 접속 제어도 가능하다
먼저 밑에 명령어로 vsftpd 서버의 PAM 제어를 위한 서비스명을 등록한다
등록된 이름으로 /etc/pam.d/에 설정 파일이 만들어진다
그후 /etc/pam.d/vsftpd의 옵션중 sense 부분의 설정에 따라 /etc/vsftpd/ftpusers에 등록된 user들의 접근 여부가 결정된다


2-1. sense=deny


2-2. sense=allow


운영 체크리스트
- 대상 OS, 네트워크 대역, 계정 권한, 패키지 버전이 현재 환경과 맞는지 확인합니다.
- 운영 장비에서 실행하기 전 랩 환경 또는 읽기 전용 명령으로 먼저 검증합니다.
- 설정 변경, 서비스 재시작, 방화벽 변경, 디스크 작업은 백업과 롤백 경로를 준비한 뒤 진행합니다.
- 본문의 IP, 계정명, 경로, 장비명은 예시 또는 당시 실습 환경 기준이므로 실제 환경 값으로 치환합니다.
원문 출처
원문: https://blog.naver.com/hermes_u/222378558709
네이버 카테고리: Linux, Unix
원문 작성일: 2021-06-01T10:44:00.000+09:00
Paid Launch Help
If this article connects to a real product, infrastructure workflow, web app, or game launch, I can turn the rough signal into a small paid deliverable.
- $1 Korean Launch Signal Audit: three friction points, three concrete fixes, and one Korea/global buyer angle for one URL or page.
- $100 Launch Conversion Sprint: a 48-hour audit, compact copy rewrite, implementation handoff, and 7-day action list.
Best fit for Linux server operations, logs, service state, and rollback planning related to Linux 서버 FTP Server 구성 가이드. No login, private source code, production credential, or sensitive customer data is required for the first pass.