ProFTPDは、オペレーティングシステムのようなUnixのオープンソースFTPサーバーです。 ProFTPDは、「 Professional File Transfer Protocol(FTP)デーモン」の略です。 」とGPLライセンスの下にあります。 ProFTPDの設定ファイルは、「ApacheHTTPDサーバー」と同様です。 ‘およびスタンドアロンサーバーとして、またはXinetd経由で構成できます。
この記事では、 ProFTPDをインストールして設定します Fedora23で。私のマシンのホスト名とIPアドレスは:
- ホスト名=fedora23.linuxtechi.com
- IPアドレス=192.168.1.21
ステップ:1以下のコマンドを使用してProFTPDパッケージをインストールします。
以下のdnfコマンドを使用して、proftpdおよびproftpd-utilsをインストールします。
[[email protected] ~]# dnf install proftpd proftpd-utils
ステップ:2ProFTPD設定ファイルを編集します。
設定ファイルに必要な変更を加えてProFTPDを設定します‘/ etc / proftpd.conf’
設定ファイルで以下のパラメータを設定します。
[[email protected] ~]# vi /etc/proftpd.conf ServerName "fedora23.linuxtechi.com" ServerIdent on "FTP Server ready." ServerAdmin [email protected] DefaultServer on ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH auth DefaultRoot ~ !adm AuthPAMConfig proftpd AuthOrder mod_auth_pam.c* mod_auth_unix.c
設定に従って、ServerNameとServerAdminの電子メールアドレスを変更します。
注: すべてのユーザーはホームディレクトリにchrootされます。つまり、ユーザーはホームディレクトリ外のファイルにアクセスできません。
ProFTPDサービスを開始して有効にします。
[[email protected] ~]# systemctl start proftpd [[email protected] ~]# systemctl enable proftpd Created symlink from /etc/systemd/system/multi-user.target.wants/proftpd.service to /usr/lib/systemd/system/proftpd.service. [[email protected] ~]#
次に、ProFTPDのグループとユーザーを作成し、ユーザーのホームディレクトリに必要な権限を設定します。
[[email protected] ~]# groupadd proftp_grp [[email protected] ~]# mkdir /opt/ftp_dir [[email protected] ~]# useradd -G proftp_grp -s /sbin/nologin -d /opt/ftp_dir pradeep [[email protected] ~]# [[email protected] ~]# chmod 1775 /opt/ftp_dir [[email protected] ~]# chgrp proftp_grp /opt/ftp_dir [[email protected] ~]# ls -ld /opt/ftp_dir/ drwxrwxr-t. 2 root proftp_grp 4096 Jan 24 09:55 /opt/ftp_dir/ [[email protected] ~]#
次に、ユーザーにパスワードを割り当てます。
[[email protected] ~]# passwd pradeep
注: 私の場合、ホームディレクトリが「/ opt / ftp_dir /」で、セカンダリグループが「proftp_grp」であるユーザー「pradeep」を作成しました。これで、ftpクライアントを使用してpradeepは、ホームディレクトリからファイルをダウンロードおよびアップロードできます。
ステップ:3SELinuxとファイアウォールのルールを設定します。
SELinuxが有効になっている場合は、FTPに次のselinuxルールを設定します。
[[email protected] ~]# setsebool -P ftp_home_dir=1 [[email protected] ~]# setsebool -P allow_ftpd_full_access=1
オペレーティングシステム(OS)ファイアウォールでFTPポートを開きます
[[email protected] ~]# firewall-cmd --permanent --add-port=21/tcp success [[email protected] ~]# firewall-cmd --reload success [[email protected] ~]#
ステップ:4ProFTPDサーバーとFTPクライアント間の暗号化を有効にする
ProFTPDサーバーとそのクライアント間の接続は安全性が低いと考えられているため、サーバーとそのクライアント間の安全な通信を行うために、SSL証明書を使用できます。
SSL証明書を生成するには、 opensslを使用します コマンド、opensslがインストールされていない場合は、以下のコマンドを使用してインストールします。
[[email protected] ~]# dnf install openssl
SSL証明書を生成する
[[email protected] ~]# openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/ftpserver.pem -out /etc/pki/tls/certs/ftpserver.pem
証明書に関連付けられている情報を入力するように求められ、秘密鍵「/etc/pki/tls/certs/ftpserver.pem」が作成されます。
秘密鍵に権限を設定します:
[[email protected] ~]# chmod 600 /etc/pki/tls/certs/ftpserver.pem [[email protected] ~]#
‘ /etc/proftpd.confに次の行を追加します ‘
[[email protected] ~]# vi /etc/proftpd.conf TLSEngine on TLSRequired on TLSProtocol SSLv23 TLSLog /var/log/proftpd/tls.log TLSRSACertificateFile /etc/pki/tls/certs/ftpserver.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/ftpserver.pem
ProFTPDサービスを再起動します。
[[email protected] ~]# systemctl restart proftpd [[email protected] ~]#
TLS用のOSファイアウォールのポートを開きます。
[[email protected] ~]# firewall-cmd --add-port=1024-65534/tcp success [[email protected] ~]# firewall-cmd --add-port=1024-65534/tcp --permanent success [[email protected] ~]# firewall-cmd --reload success
ステップ:5Filezillaを使用してProFTPDサーバーに接続します。
[接続]をクリックします…
[OK]をクリックして、証明書を信頼します。
正常にログインできるようになったため、ファイルをダウンロードしてホームディレクトリにアップロードできるようになりました。
インストールと構成の手順が気に入っていただければ幸いです🙂