서버 설정 · 4 min read · Dec 17, 2025

CentOS 7.0에 ProFTPD 설치하는 방법

이 문서는 CentOS 7.0 서버에 ProFTPD를 설치하고 구성하는 방법을 설명합니다. ProFTPD는 유닉스 및 유닉스 유사 운영 체제를 위한 FTP 데몬입니다. ProFTPD는 GNU 공용 라이센스(GPL) 하에 개발, 배포 및 배급되며, 이는 기본적으로 무료 소프트웨어로 설정되어 있음을 의미합니다. 즉, ProFTPD 패키지에 전체 및 완전한 소스 코드가 동봉되거나 사전 컴파일된 바이너리를 배포하는 모든 사이트에서 제공되는 한, 판매, 라이센스 및 기타 방식으로 조작할 수 있습니다. 소프트웨어는 언제든지 누구나 수정할 수 있으며, 모든 파생 작업도 GNU 공용 라이센스 하에 라이센스가 부여되어야 합니다.

1 사전 참고

이 튜토리얼은 CentOS 7.0 서버를 기반으로 하므로, 이 튜토리얼을 계속 진행하기 전에 기본 CentOS 7.0 서버 설치를 설정해야 합니다. 시스템은 정적 IP 주소를 가져야 합니다. 이 튜토리얼에서는 192.168.0.100을 IP 주소로 사용하고 server1.example.com을 호스트 이름으로 사용합니다.

2 ProFTPD 설치

2.1 설치:

이를 위해 EPEL을 다음과 같이 활성화합니다:

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

먼저 ProFTPD와 OpenSSL을 다음과 같이 설치합니다:

yum install -y proftpd openssl proftpd-utils

서비스를 시작해야 합니다:

systemctl start proftpd.service  
systemctl enable proftpd.service

CentOS 7.0에서는 ftp 서비스에 대해 Firewall-cmd를 다음과 같이 구성해야 합니다:

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

ProFTPD 버전을 다음과 같이 확인할 수 있습니다:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPD 버전 1.3.5

[root@server1 ~]#

2.2 ProFTPD 사용자 생성

이를 위해 ftpgroup이라는 그룹과 ProFTPD용 사용자 srijan을 생성하겠습니다. 사용자 srijan의 홈 디렉토리를 /ftpshare로 제한하겠습니다:

groupadd ftpgroup

다음으로 ftpgroup에 사용자 srijan을 추가하겠습니다:

useradd  -G ftpgroup srijan -s /sbin/nologin -d /ftpshare  
passwd srijan
[root@server1 ~]# passwd srijan  
Changing password for user srijan.  
New password: <--ftppassword  
Retype new password: <--ftppassword  
passwd: all authentication tokens updated successfully.  
[root@server1 ~]# 

다음으로, 모든 사용자가 콘텐츠를 제거하거나 이름을 바꾸지 못하도록 디렉토리를 보호해야 하므로, 디렉토리 권한을 다음과 같이 변경하겠습니다:

chmod -R 1777 /ftpshare/

이제 ProFTPD 연결을 준비했습니다

이제 ftp://192.168.0.100에서 사용자 srijan과 비밀번호로 로그인할 수 있습니다.

3 ProFTPD에서 TLS 활성화

ProFTPD에서 TLS를 활성화하려면 /etc/proftpd/proftpd.conf를 열고 파일을 편집하기 전에 원본 파일을 백업하는 것이 좋습니다. 그런 다음 아래와 같이 파일을 편집합니다:

cp /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf   

아래와 같이 항목을 추가합니다:

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   
  
#
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSRenegotiate                ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

FTP의 수동 모드를 허용하기 위해 6000 및 6100 포트를 추가했습니다. 마찬가지로 CentOS firewalld 서비스를 통해 수동 모드를 허용하겠습니다:

firewall-cmd --add-port=6000-6100/tcp --permanent  
firewall-cmd --reload

포트 상태를 다음과 같이 확인할 수 있습니다:

firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

추가로 SELINUX에 파일의 읽기/쓰기를 허용하도록 지시해야 합니다.

setsebool -P allow_ftpd_full_access=1

TLS를 사용하려면 SSL 인증서를 생성해야 합니다. /etc/pki/tls/certs에 생성하겠습니다. SSL 인증서를 다음과 같이 생성할 수 있습니다:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

1024 비트 RSA 개인 키 생성 중

……………………………..++++++

………++++++

‘/etc/pki/tls/certs/proftpd.pem’에 새 개인 키를 작성 중입니다.


인증서 요청에 통합될 정보를 입력하라는 메시지가 표시됩니다.

입력할 내용은 일반적으로 구별 이름(DN)이라고 합니다.

몇 가지 필드가 있지만 일부는 비워둘 수 있습니다.

일부 필드에는 기본값이 있습니다.

‘.’를 입력하면 필드가 비워집니다.


국가 이름(2자리 코드) [XX]:

<–DE

주 또는 지방 이름(전체 이름) []:

<– 함부르크

지역 이름(예: 도시) [기본 도시]:

<– 루네부르크

조직 이름(예: 회사) [기본 회사]:

<– ISPConfig

조직 단위 이름(예: 섹션) []:

<– 개발

공통 이름(예: 이름 또는 서버의 호스트 이름) []:

<–

server1.example.com

이메일 주소 []:

<– [email protected]

[root@server1 certs]#

위의 빨간 값은 선택에 따라 입력하십시오. 예시로 제공한 것입니다.

이제 보안 목적으로 인증서를 읽기 전용으로 설정하겠습니다:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

마지막으로 ProFTPD 서비스를 다음과 같이 재시작합니다:

systemctl restart proftpd.service

Filezilla 소프트웨어를 사용하여 ProFTPD 서버에 연결할 수 있습니다. 클라이언트에서 서버에 연결하려면 Filezilla가 설치되어 있어야 합니다. Filezilla를 열고 다음과 같이 세부 정보를 입력합니다:

세부 사항은 다음과 같습니다:

호스트 = 192.168.0.100
프로토콜 = FTP
사용자 = srijan
포트 = 21이 아닌 다른 포트로 사용자 정의하지 않았다면 비워둘 수 있습니다.
비밀번호 = ftppassword (위에서 생성한 비밀번호)

참고: 위 단계에서 연결을 암호화했으므로 TLS를 통한 명시적 FTP 요구와 함께 암호화를 사용해야 합니다.

TLS를 구성하지 않았다면 일반 FTP 사용을 사용할 수 있습니다.

인증서를 신뢰하라는 메시지가 표시되면 확인을 누릅니다.

FTP 공유 디렉토리에 TLS 연결로 연결됩니다.

4 ProFTPD에서 익명 FTP 접근

ProFTPD에서 익명 FTP 계정을 만들 수 있습니다. ProFTPD 구성 파일에 다음 항목을 추가하십시오:

nano /etc/proftpd.conf

파일의 마지막에 다음 항목을 추가합니다:

[...]  
###익명 공유#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

이제 서비스를 재시작해야 합니다:

systemctl restart proftpd.service

이제 Filezilla를 통해 다음과 같이 연결합니다:

참고: 위 단계에서 연결을 암호화했으므로 TLS를 통한 명시적 FTP 요구와 함께 암호화를 사용해야 합니다.

TLS를 구성하지 않았다면 일반 FTP 사용을 사용할 수 있습니다.

연결을 누릅니다:

인증서를 신뢰하라는 메시지가 표시되면 확인을 누릅니다.

익명 사용자로 서버에 성공적으로 연결되었습니다.

축하합니다! 이제 CentOS 7.0에서 ProFTPD 서버 환경을 성공적으로 구성했습니다 :)

5 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.