GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でPureFTPdをセットアップする方法

こんにちは、今日このチュートリアルでは、CentOS 7のソースからPureFTPdをコンパイルしてインストールします。Pure-ftpdは、Linuxシステムユーザー、puredb、MySQL、PostgeSQLなどのさまざまな認証バックエンドをサポートする軽量で安定したFTPデーモンです。

1。 Pureftpdのインストール

CentOS開発ツールチェーンをインストールします。

# yum -y groupinstall 'Development Tools'

MariaDB開発ファイルをインストールします。

# yum -y install mariadb-devel

pure-ftpdソースファイルをダウンロードし、アーカイブを解凍します。

# cd /usr/local/src
# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2
# tar xvjpf pure-ftpd-1*.tar.bz2
# cd pure-ftpd-1*

configureコマンドを実行して、ビルドを準備します。すべてのコンパイルオプションの概要を取得するには、。/configure--helpを実行します。

# ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin \
--libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc \
 --sharedstatedir=/usr/com --localstatedir=/var --libdir=/usr/lib64 \
 --includedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man \
 --with-mysql --with-virtualchroot --with-everything

そして、pure-ftpdバイナリをコンパイルします:

# make
# make install

2。構成ファイルと開始スクリプトの作成

まず、開始スクリプトを作成します。このビルドでは、CentOS7から引き続き正常に動作するCentOS6.5の開始スクリプトを使用します。

# nano /etc/init.d/pure-ftpd
#!/bin/bash
 #
 # Startup script for the pure-ftpd FTP Server $Revision: 1.1 $
 #
 # chkconfig: - 85 15
 # description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
 # processname: pure-ftpd
 # pidfile: /var/run/pure-ftpd.pid
 # config: /etc/pure-ftpd/pure-ftpd.conf
# Source function library.
 . /etc/init.d/functions
# Source networking configuration.
 . /etc/sysconfig/network
# Check that networking is configured.
 # [ ${NETWORKING} = "no" ] && exit 0
RETVAL=0
prog="pure-ftpd"
# Path to the pure-ftp binaries.
 fullpath=/usr/sbin/pure-ftpd
 pureftpwho=/usr/sbin/pure-ftpwho
 pure_config=/etc/pure-ftpd/pure-ftpd.conf
 pure_launch_script=/usr/sbin/pure-config.pl
 start() {
 echo -n $"Starting $prog: "
 daemon "$pure_launch_script $pure_config --daemonize > /dev/null"
 RETVAL=$?
 [ $RETVAL = 0 ] && touch /var/lock/subsys/pure-ftpd
 echo
 }
stop() {
 echo -n $"Stopping $prog: "
 killproc pure-ftpd
 RETVAL=$?
 [ $RETVAL = 0 ] && rm -f /var/lock/subsys/pure-ftpd
 echo
 }
# See how we were called.
 case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 stop
 start
 ;;
 reload)
 echo -n $"Reloading $prog: "
 killproc pure-ftpd -HUP
 RETVAL=$?
 echo
 ;;
 condrestart)
 if [ -f /var/lock/subsys/pure-ftpd ] ; then
 stop
 # avoid race
 sleep 3
 start
 fi
 ;;
 status)
 status pure-ftpd
 RETVAL=$?
 if [ -f $pureftpwho ] && [ $RETVAL -eq 0 ] ; then
 $pureftpwho
 fi
 ;;
 *)
 echo $"Usage: pure-ftpd {start|stop|restart|reload|condrestart|status}"
 RETVAL=1
 esac
 exit $RETVAL

3。ファイル権限の設定

次に、インストール後のものの構成を含む以下のコマンドで、必要なファイル権限を提供する必要があります。

# chmod +x /etc/init.d/pure-ftpd
# mkdir /etc/pure-ftpd/
# cp configuration-file/pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf
# cp configuration-file/pure-config.pl /usr/sbin/pure-config.pl
# chmod 744 /etc/pure-ftpd/pure-ftpd.conf
# chmod 755 /usr/sbin/pure-config.pl

次に、システム起動リンクを作成してPureFTPdを起動します:

# chkconfig --levels 235 pure-ftpd on
# systemctl start pure-ftpd.service

4。 OpenSSLを使用したTLSの構成

次に、FTPおよびTLSセッションを許可するようにPureFTPdを構成します。 TLSを使用しないFTPは非常に安全でないプロトコルです すべてのパスワードとすべてのデータがクリアテキストで転送されるため TLSを使用することで、通信全体を暗号化できます 、したがって、FTPをはるかに安全にします。
TLSにはOpenSSLが必要です。 OpenSSLをインストールするには、次のコマンドを実行するだけです。

# yum -y install openssl

/etc/pure-ftpd/pure-ftpd.confを開きます...

# nano /etc/pure-ftpd/pure-ftpd.conf

FTPおよびTLSセッションを許可する場合は、TLSを1に設定します。
#このオプションは3つの値を受け入れることができます:
#0:SSL / TLS暗号化レイヤーを無効にします(デフォルト)。
#1:従来のセッションと暗号化されたセッションの両方を受け入れます。
#2:SSL/TLSセキュリティメカニズムを使用しない接続を拒否します。
#匿名セッションを含む。
#これを盲目的にコメント解除しないでください。必ず:
#1)サーバーはSSL / TLSサポート(--with-tls)でコンパイルされています。
#2)有効な証明書が用意されています。
#3)互換性のあるクライアントのみがログインします。

TLSを使用するには、SSL証明書を作成する必要があります。 / etc / ssl / private /に作成するので、最初にそのディレクトリを作成します。
mkdir -p / etc / ssl / private /

その後、次のようにSSL証明書を生成できます。

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

SSL証明書の権限を変更します:

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

最後にPureFTPdを再起動します:

# systemctl stop pure-ftpd.service
# systemctl start pure-ftpd.service

結論

やあ、pureftpdを正常にインストールして構成しました。これで、TLSセキュリティを使用したFTPデータ転送を楽しむことができます。 FTPサーバーに接続するときに、SSL証明書を正しくインストールして構成した場合は、TLSを使用するようにFTPクライアントを構成する必要があることに注意してください。また、デフォルトでは、pureftpdはポート21を開いてクライアントと通信します。問題、質問、質問がある場合は、ブログやコンテンツをさらに更新および改善できるように、ためらうことなく以下にコメントしてください。


Cent OS
  1. CentOSでSFTPサーバーをセットアップする方法

  2. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  3. CentOS8でSSHキーを設定する方法

  1. CentOS8でテキストパターンCMSを設定する方法

  2. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  3. CentOSおよびRedHatでMySQLを使用してPure-FTPDをセットアップする方法

  1. CentOS 8 /RHEL8でNFSサーバーをセットアップする方法

  2. CentOS 7 /RHEL7でIcingaWeb2をセットアップする方法

  3. CentOS8でFirewallDを使用してファイアウォールを設定する方法