서버 설정 · 2 min read · Dec 16, 2025

OpenSUSE Leap 42.1에서 TLS 및 가상 사용자와 함께 Pure-FTPd 설치하는 방법

Pure-FTPd는 Troll-FTPd를 기반으로 한 무료 경량 FTP 서버로, 2001년에 개발이 시작되었으며 Linux, *BSD, Solaris 및 HP-UX를 포함한 많은 Unix 유사 운영 체제에서 실행됩니다. Pure-FTPd는 가상 도메인, chroot 홈 디렉토리, 가상 사용자, TLS/SSL 지원, 가상 쿼터 등과 같은 많은 기능을 제공합니다.

이 튜토리얼에서는 OpenSUSE Leap 42.1에서 pure-ftpd를 설치하고 구성하는 방법을 보여드리겠습니다. TLS/SSL로 pure-ftpd를 설정한 다음 가상 사용자를 설정하는 방법을 보여드리겠습니다.

전제 조건

  • OpenSUSE Leap 42.1
  • 루트 권한
  • OpenSUSE, Zypper 지식

1단계 - SuSEfirewall2 설치 및 구성

SuSEfirewall2는 ‘/etc/sysconfig/SuSEfirewall2’ 파일에 방화벽 구성을 생성하는 스크립트입니다. SuSEfirewall2를 설치한 후 SSH 및 FTP 서비스의 포트를 열겠습니다.

zypper로 SuSEfirewall2를 설치합니다:

zypper in SuSEfirewall2

다음으로, vim으로 ‘/etc/sysconfig/SuSEfirewall2’ 구성 파일을 편집합니다:

vim /etc/sysconfig/SuSEfirewall2

253번째 줄에 새로운 서비스 ssh와 FTP를 추가합니다:

FW_SERVICES_EXT_TCP="ssh ftp"

저장하고 종료합니다.

이제 systemctl 명령으로 SuSEfirewall2를 시작합니다:

systemctl start SuSEfirewall2

2단계 - Pure-FTPd 설치 및 구성

이 단계에서는 TLS/SSL 구성을 위해 OpenSSL과 함께 pure-ftpd를 설치하고 pure-ftpd 사용자 및 그룹을 구성합니다.

아래와 같이 zypper로 애플리케이션을 설치합니다:

zypper in pure-ftpd openssl

이제 새로운 그룹 ‘ftpgroup‘과 마스터 ‘FTP 사용자’인 ‘ftpuser‘라는 새로운 사용자를 그룹에 추가합니다.

groupadd ftpgroup  
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

pure-ftpd 디렉토리로 이동하여 vim 편집기로 ‘pure-ftpd.conf’ 구성 파일을 편집합니다:

cd /etc/pure-ftpd/  
vim pure-ftpd.conf

익명 사용자를 비활성화하기 위해 81번째 줄의 값을 ‘yes’로 변경합니다.

NoAnonymous                 yes

백엔드를 구성하기 위해 131번째 줄의 주석을 제거합니다. Pure-ftpd는 MySQL, PostgreSQL 및 LDAP을 백엔드로 지원하지만, 이 튜토리얼에서는 ‘PureDB’를 백엔드로 사용할 것입니다.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

PureDB를 인증 소스로 사용할 것이므로 141번째 줄의 PAMAuthentication 줄을 주석 처리하여 PAM 인증을 비활성화합니다.

#PAMAuthentication             yes

저장하고 종료합니다.

3단계 - Pure-FTPd용 TLS/SSL 구성

openssl 명령으로 ‘/etc/ssl/private’ 디렉토리에 새 자체 서명된 인증서 파일을 생성합니다:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

인증서 파일의 권한을 0600으로 변경합니다:

chmod 600 /etc/ssl/private/pure-ftpd.pem

다음으로, pure-ftpd 디렉토리로 돌아가서 클라이언트 연결을 위한 TLS/SSL 지원을 활성화하기 위해 구성 파일을 편집합니다.

cd /etc/pure-ftpd/  
vim pure-ftpd.conf

TLS를 활성화하기 위해 439번째 줄의 주석을 제거합니다.

TLS                      1

보안을 강화하기 위해 449번째 줄의 주석을 제거하고 새로운 옵션을 추가합니다.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

인증서 파일을 정의하기 위해 445번째 줄의 주석을 제거합니다.

CertFile                 /etc/ssl/private/pure-ftpd.pem

저장하고 종료합니다.

이제 systemctl 명령으로 pure-ftpd를 시작합니다:

systemctl start pure-ftpd

4단계 - 가상 사용자 구성

Pure-FTPd는 실제 시스템(Linux) 사용자 대신 가상 사용자를 생성하고 사용할 수 있는 기능을 제공합니다. Pure-FTPd는 여러 인증 백엔드를 제공하며 가상 사용자 구성은 서버에서 사용되는 백엔드에 따라 다릅니다. 2단계에서 우리는 ‘PureDB’를 백엔드로 설정했습니다.

pure-ftpd에서 제공하는 ‘pure-pw’ 명령으로 새로운 가상 사용자를 생성할 수 있습니다. 이 단계에서는 ‘/srv/ftp/shiro’ 디렉토리를 FTP 홈 디렉토리로 하고 사용자가 해당 디렉토리에 chroot되어 다른 시스템 디렉토리에 접근할 수 없는 ‘shiro’라는 새로운 가상 사용자를 생성합니다.

pure-pw로 새로운 가상 사용자를 생성합니다:

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

가상 사용자를 위한 디렉토리를 생성하고 해당 디렉토리의 소유자를 마스터 ‘FTP 사용자’로 변경합니다.

mkdir -p /srv/ftp/shiro  
chown -R ftpuser.ftpgroup /srv/ftp/shiro

다음으로, 아래 명령으로 변경 사항을 저장해야 합니다:

pure-pw mkdb

이제 사용자 shiro가 사용 준비가 되었으며, 명령줄 또는 GUI 인터페이스인 FileZilla를 사용하여 서버에 연결할 수 있습니다.

참고:

pure-pw는 더 많은 명령 옵션을 제공하며, ‘ pure-pw help ‘를 사용하여 모든 유용한 명령을 볼 수 있습니다.

5단계 - 테스트

테스트를 위해 터미널에서 FTP 명령을 사용할 것입니다. 터미널을 열고 “ftp”를 입력합니다:

ftp

다음으로 pure-ftpd 서버 IP를 입력합니다:

open 192.168.43.69

사용자 ‘shiro’와 비밀번호로 로그인한 후 ‘Enter’를 누릅니다.

‘put’ 명령으로 파일을 업로드해 보세요:

put picture.png mypict.png

이제 아래의 ls 명령으로 서버에서 mypict.png 파일을 볼 수 있습니다:

ls

FTP 연결

참고

Share: X/Twitter LinkedIn

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

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