ファイル転送プロトコル(FTP)は、ネットワークを介してサーバーとクライアント間でファイルを転送するために広く使用されているツールです。デフォルトのFTP設定の主な問題は、ネットワークを介したユーザー資格情報とデータの暗号化されていない送信に関連するセキュリティリスクです。これにより、ユーザーアカウントの詳細が危険にさらされる可能性があります。
したがって、暗号化をサポートする安全なサーバーをインストールする必要があります。 Linuxで利用できるオープンソースのFTPサーバーがいくつかあります。最も一般的に使用されるサーバーには、Vsftpd、PureFTPd、ProFTPDなどがあります。
このチュートリアルでは、非常に安全なFTPデーモンであるVSFTPDサーバーをインストールして構成する方法について説明します。
CentOSへのFTPサーバーのインストール
ここでは、デモにCentos 7 Minimalインストールを使用し、コマンドを実行するためにrootログインを使用します。
ステップ1–vsftpdパッケージをインストールする
通常、vsftpdパッケージはデフォルトのCentOSリポジトリで利用できます。次のコマンドを実行して、FTPサーバーをインストールします。
yum install vsftpd
インストール後、FTPサービスのステータスを確認してください。
systemctl status vsftpd
サービスが開始されていない場合は、以下のコマンドを使用してサービスを開始できます。
systemctl start vsftpd
次に、システムの起動時にFTPサービスを有効にする必要があります。
systemctl enable vsftpd
ステップ2–vsftpdを構成する
「/etc/vsftpd/」ディレクトリにあるVSFTPD構成ファイル。そこで、「vsftpd.conf」を変更します。変更する前に、元のファイルのバックアップを取ります。
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origbackup
次に、ファイルを編集します。
vi /etc/vsftpd/vsftpd.conf
FTPサーバーへのアクセスをローカルユーザーのみに許可するため、次のパラメータを編集して変更します。
anonymous_enable=NO local_enable=YES
「write_enable」を見つけ、設定のコメントを解除して、ファイルシステムへの変更を許可します。
write_enable=YES
FTPユーザーがホームディレクトリ外のファイルにアクセスできないようにする「chroot」ディレクティブを見つけてコメントを外します。
chroot_local_user=YES
ここでは、chrootが有効になっているときにアップロードできるようにFTPディレクトリを設定します。これが推奨される方法です。したがって、「vsftpd.conf」ファイルに次の行を追加します。
user_sub_token=$USER local_root=/home/$USER/ftp
通常、vsftpdはパッシブFTP接続に任意のポートを使用できます。ここでは、vsftpdのポートの最小範囲と最大範囲について説明します。
これらの行をファイルに追加します
pasv_min_port=40000 pasv_max_port=41000
ユーザーを制限するには、ログインして「userlist_enable=YES」行の後に次の構成を追加します。
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
次に、ファイルを保存して終了します。
VSFTPDサービスを再起動します。
systemctl restart vsftpd
ステップ3–ファイアウォールを構成する
ファイアウォール経由のFTPポートを許可します。
firewall-cmd --permanent --add-port=20-21/tcp firewall-cmd --permanent --add-port=40000-41000/tcp
次にファイアウォールをリロードします。
firewall-cmd --reload
ステップ4–FTPユーザーを作成する
ユーザーを追加します。 「darsh」を必要なユーザー名に置き換えます。
adduser darsh
ユーザーのパスワードを設定します。
passwd darsh
次に、許可されたFTPユーザーリストにユーザーを追加します。これを行うには、構成ファイルを編集し、信条のユーザー名を追加します。
vi /etc/vsftpd/user_list
次に、ファイルを保存して終了します。
ユーザーへのアップロードディレクトリを作成します。
mkdir -p /home/darsh/ftp/upload
ディレクトリのアクセス許可を設定します。
chmod 550 /home/darsh/ftp chmod 750 /home/darsh/ftp/upload
ディレクトリの所有権を変更します。
chown -R darsh: /home/darsh/ftp
シェルアクセス権を持つユーザーを作成しました。必要に応じて、ユーザーからのシェルアクセスを無効にすることができます。
usermod -s /sbin/nologin darsh
ステップ5–FTPサーバーのテスト
これで、FTPクライアントを使用してサーバーにアクセスできます。お持ちでない場合は、無料のオープンソースアプリ「FileZilla」を使用することをお勧めします。

アップロードディレクトリを参照して、テスト用のファイルを作成できます。

それでおしまい! CentOSでFTPサーバーを正常に構成しました。インストールがどのように行われたかをお知らせください。ソーシャルプラットフォームで友達と記事を共有してください。