웹사이트 검색

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


이 페이지에서

  1. 1단계 - SuSEfirewall2 설치 및 구성
  2. 2단계 - Pure-FTPd 설치 및 구성
  3. 3단계 - Pure-FTPd용 TLS/SSL 구성
  4. 4단계 - 가상 사용자 구성
  5. 5단계 - 테스트
  6. 참조

Pure-FTPd는 Troll-FTPd를 기반으로 하는 무료 경량 FTP 서버로 2001년에 개발이 시작되었으며 Linux, *BSD, Solaris 및 HP-UX를 포함한 많은 Unix 계열 OS에서 실행됩니다. Pure-FTPd에는 가상 도메인, chroot 홈 디렉토리, 가상 사용자, TLS/SSL 지원, 가상 할당량 등과 같은 많은 기능이 있습니다.

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

전제 조건

  • OpenSUSE 도약 42.1
  • 루트 권한\n
  • OpenSUSE, Zypper 지식

1단계 - SuSEfirewall2 설치 및 구성

SuSEfirewall2는 /etc/sysconfig/SuSEfirewall2 파일에 방화벽 구성을 생성하는 스크립트입니다. SuSEfirewall2를 설치한 다음 SSH 및 FTP 서비스용 포트를 엽니다.

zypper를 사용하여 SuSEfirewall2를 설치합니다.

zypper in SuSEfirewall2

그런 다음 vim을 사용하여 /etc/sysconfig/SuSEfirewall2 구성 파일을 편집합니다.

vim /etc/sysconfig/SuSEfirewall2

새 서비스 ssh 및 FTP를 253행에 추가합니다.

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과 ftpuser라는 마스터 FTP 사용자의 새 사용자를 그룹에 추가합니다.

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를 인증 소스로 사용할 것이므로 PAMAuthentication 행을 주석 처리하여 141행에서 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 홈 디렉토리로 사용하여 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를 사용할 준비가 되었습니다. 명령줄에서 FTPp를 사용하거나 GUI 인터페이스용 FileZilla를 사용하여 서버에 연결할 수 있습니다.

메모:

pure-pw에는 더 많은 명령 옵션이 있으므로 pure-pw 도움말을 사용하여 모든 유용한 명령을 볼 수 있습니다.

5단계 - 테스트

테스트를 위해 터미널에서 FTP 명령을 사용하겠습니다. 터미널을 열고 "ftp"를 입력하십시오:

ftp

다음으로 pure-ftpd 서버 IP를 입력하십시오.

open 192.168.43.69

사용자 shiro와 암호로 로그인한 다음 Enter 키를 누릅니다.

put 명령으로 파일 업로드를 시도하십시오.

put picture.png mypict.png

이제 아래 ls 명령을 사용하여 서버에서 mypict.png 파일을 볼 수 있습니다.

ls

참조

  • https://www.novell.com/coolsolutions/feature/11418.html