Rocky Linux에서 FTP 서버(vsftpd) 설치 및 설정 방법
파일 전송 프로토콜(FTP)은 서버와 클라이언트 간에 파일을 주고받기 위해 오래전부터 사용되는 표준 방식입니다. Rocky Linux 환경에서도 FTP 서버를 구축하면 내부 개발, 배포, 데이터 전송 등 다양한 용도로 활용할 수 있습니다. 이번 글에서는 Rocky Linux에서 대표적인 FTP 서버 프로그램인 vsftpd 설치와 설정 과정을 상세하게 안내합니다.
vsftpd 설치 준비
vsftpd(Very Secure FTP Daemon)는 속도와 보안성 측면에서 많이 선택되는 FTP 서버입니다. Rocky Linux 기본 저장소에 포함되어 있어 간단한 명령어로 설치할 수 있습니다. 먼저 시스템 패키지를 최신 상태로 업데이트합니다.
dnf update -y
그 다음 vsftpd를 설치합니다.
dnf install -y vsftpd
설치가 완료되면 버전 확인으로 설치 상태를 점검합니다.
rpm -qi vsftpd
vsftpd 서비스 활성화 및 시작
설치가 끝난 후에는 서비스를 시작하고 부팅 시 자동으로 실행되도록 설정합니다.
systemctl enable vsftpd
systemctl start vsftpd
서비스 상태를 확인하여 정상적으로 실행 중인지 확인합니다.
systemctl status vsftpd
방화벽 설정
Rocky Linux에서는 firewalld를 사용해 기본적으로 네트워크 포트를 제어합니다. FTP는 21번 포트를 사용하므로 이를 허용합니다.
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
vsftpd 설정 파일 편집
주요 설정 파일은 /etc/vsftpd/vsftpd.conf
입니다. 기본 설정을 기준으로 몇 가지 주요 옵션을 살펴보겠습니다.
- anonymous_enable=NO : 익명 접속 비활성화
- local_enable=YES : 시스템 사용자 계정으로 로그인 허용
- write_enable=YES : 파일 업로드와 변경 허용
- chroot_local_user=YES : 사용자를 홈 디렉토리로 제한
설정 변경 후에는 반드시 vsftpd 서비스를 재시작해야 적용됩니다.
systemctl restart vsftpd
SELinux 설정 확인
Rocky Linux에서는 SELinux가 기본 활성화되어 있어 FTP 업로드가 차단될 수 있습니다. FTP 쓰기 권한을 부여하려면 다음 명령어를 사용합니다.
setsebool -P ftp_home_dir on
추가로 passive 모드를 사용하거나 TLS 설정을 적용할 때도 SELinux 정책을 확인하는 것이 중요합니다.
접속 테스트
이제 FTP 클라이언트(FileZilla 등)나 명령행 도구를 이용해 Rocky Linux FTP 서버에 접속을 시도합니다. 기본 포트는 21번이며, 사용자 계정과 비밀번호를 입력해 로그인할 수 있습니다.
보안 강화 팁
FTP는 평문으로 데이터를 전송하므로 TLS를 적용해 FTPS로 설정하는 것을 권장합니다. 또한 불필요한 계정 접근을 막기 위해 /etc/vsftpd/user_list
나 /etc/vsftpd/ftpusers
파일을 활용해 차단 계정을 관리할 수 있습니다.
설치가 완료 되었으면 ftp 접속해 보겠습니다.
저는 filezilla로 ftp를 접속해봤습니다.
정상적으로 접속되는걸 확인 할수 있습니다.
Rocky Linux에서 vsftpd를 이용한 FTP 서버 설치와 설정은 비교적 간단하지만, 보안 설정과 권한 관리에 특히 주의가 필요합니다.
실제 운영 환경에서는 TLS, 방화벽, SELinux 정책 등을 추가로 설정하여 안전하게 운용하시기 바랍니다.
앞으로도 Rocky Linux 서버 관리, 보안 설정, 자동화에 대한 실전 가이드를 계속 다룰 예정이니 많은 관심 부탁드립니다.
감사합니다.