Rocky Linux9에서 vsftpd 설치하는 방법
Rocky Linux 9에서FTP를 설정하여 파일을 업로드하거나 다운로드할 수 있는 환경을 손쉽게 구성할 수 있습니다.
FTP 서버를 설치하고 설정하는 방법을 단계별로 설명해보겠습니다
vsftpd란?
vsftpd(Very Secure FTP Daemon)는 빠르고 안정적이며 보안성이 뛰어난 FTP 서버로, 리눅스 환경에서 널리 사용됩니다. vsftpd를 사용하는 주요 이유
- 보안성: vsftpd는 이름에서 알 수 있듯이, 보안에 중점을 둔 FTP 서버.익명 접근 제한, SSL/TLS 지원 등을 제공
- 성능: 가볍고 효율적으로 설계되어 대규모 트래픽 처리에도 적합
- 유연한 설정: 다양한 설정 옵션을 통해 사용 사례에 맞는 환경을 쉽게 구성
- 광범위한 지원: 대부분의 리눅스 배포판에서 기본적으로 지원. 문서가 잘 갖춰져 있어 문제 해결이 용이
1. FTP 서버 설치
Rocky Linux에서 FTP 서버를 설치하려면 vsftpd(Very Secure FTP Daemon)를 사용합니다.
먼저 Rocky Linux9 를 인터넷에 연결해야 하는데, 그게 어렵다면 Local Yum을 설치해야 합니다.
1.1 시스템 업데이트
먼저 시스템 패키지를 업데이트합니다.
sudo dnf update -y
1.2 vsftpd 설치
vsftpd 패키지를 설치합니다.
sudo dnf install -y vsftpd
2. FTP 서비스 시작 및 부팅 시 자동 실행 설정
FTP 서비스를 시작하고 부팅 시 자동으로 실행되도록 설정합니다.
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
서비스 상태를 확인하여 정상적으로 실행되고 있는지 확인합니다.
sudo systemctl status vsftpd
![](https://blog.kakaocdn.net/dn/m9AaF/btsLK2KB43T/CCl6EKI0vYp2EjXFESJ5z1/img.png)
3. 방화벽 설정
만약에 방화벽을 사용한다면, FTP가 외부에서 접근 가능하도록 방화벽 규칙을 추가해줘야 합니다.
3.1 FTP 포트 열기
FTP의 기본 포트(21번)를 방화벽에 추가합니다.
sudo firewall-cmd --add-service=ftp --permanent
sudo firewall-cmd --reload
3.2 Passive 모드 포트 열기
만약에 Passive 모드를 사용하려면 추가 포트를 열어야 합니다.
예를 들어, 10000-11000 포트를 사용하려면 다음을 실행합니다.
sudo firewall-cmd --add-port=10000-11000/tcp --permanent
sudo firewall-cmd --reload
![](https://blog.kakaocdn.net/dn/bCy5V9/btsLJhPPn8C/ODuaF3CorEetuUd0gmrK4K/img.png)
4. vsftpd 설정 파일 수정
FTP 서버 설정을 변경하려면 /etc/vsftpd/vsftpd.conf 파일을 편집합니다.
sudo vi /etc/vsftpd/vsftpd.conf
주요 설정 항목:
- 익명 사용자 비활성화: anonymous_enable=NO
- 로컬 사용자 허용: local_enable=YES
- 쓰기 권한 활성화: write_enable=YES
- Passive 모드 설정 : pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000
![](https://blog.kakaocdn.net/dn/dnueUm/btsLKDYAX04/PmHlEtq83DHKiVgW8ktHNk/img.png)
5. FTP 사용자 계정 설정
FTP에 접근할 로컬 사용자 계정을 생성합니다.
sudo adduser ftpuser01
sudo passwd ftpuser01
사용자 홈 디렉토리에 FTP 파일을 업로드할 수 있도록 권한을 설정합니다.
sudo chown ftpuser01:ftpuser01 /home/ftpuser01
6. SELinux 설정 (활성화된 경우)
SELinux가 활성화된 시스템에서는 FTP가 제대로 작동하도록 설정을 추가해야 합니다.
SELinux가 활성화된 상태인지는 sestatus 명령어로 확인합니다.
sestatus
sudo setsebool -P ftpd_full_access 1
sudo setsebool -P ftpd_use_passive_mode 1
![](https://blog.kakaocdn.net/dn/bmKbqz/btsLKE4eErF/QSklgebPTc95u3xEvx4Fg0/img.png)
7. FTP 서버 테스트
FTP 클라이언트 프로그램을 사용하여 서버에 연결하고 파일 업로드 및 다운로드를 테스트합니다.
저는 알 드라이브로 시도해보겠습니다.
정상적으로 접속되었습니다.