VSFTPDを使用してCentOS8でFTPサーバーをセットアップする方法

FTPとは何ですか?

FTP(ファイル転送プロトコル)は、ユーザーがリモートコンピューターとの間でファイルを交換できるようにするクライアントサーバーネットワークプロトコルです。

FTPはプレーンテキストを使用してデータを転送し、データにアクセスします。 Linuxオペレーティングシステムプラットフォームで利用できるいくつかの異なるオープンソースFTPサーバーがあります。 最も一般的に使用されるFTPサーバーは、VSFTPD、ProFTPD、およびPureFTPDです。 FTPプロトコルは、接続にポート番号21を使用し、データ転送にポート20を使用します。 パッシブモードでは、追加のポートが使用されます。

このチュートリアルでは、VSFTPDをセットアップおよび構成する方法を学習します。 これは非常に安全で安定しており、CentOS8パッケージリポジトリで利用できます。

VSFTPFTPサーバーをインストールします

CentOS 8にVSFTPDパッケージをインストールするには、ターミナルを開くか、rootユーザーとしてSSHでサーバーに接続し、次のコマンドを入力します。

#dnf install –y vsftpd

パッケージがインストールされたら、次のコマンドを使用してVSFTPDサービスを開始して有効にします。

#systemctl enable vsftpd#systemctl start vsftpd

FTPサービスを開始します

元の構成ファイルのコピーを取ります /etc/vsftpd/vsftpd.conf 次のコマンドを入力します。

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk

元の構成ファイルのバックアップコピーを作成します

次に、次のコマンドを使用して、構成ファイルを編集します。

#vim /etc/vsftpd/vsftpd.conf

vimで設定ファイルを編集する

その中の次のディレクティブを見つけて設定します。

analog_enable = NO#匿名ユーザー(不明なユーザー)を無効にするlocal_enable = YES#ローカルユーザーを許可するwrite_enable = YES#ftp書き込みコマンドを許可するlocal_umask = 022#デフォルトのumaskを設定するdirmessage_enable = YES#変更ディレクトリのメッセージを有効にするxferlog_enable = YES#アップロードのログを有効にするconnect_from_port_20 = YES#ポート20からのPORT転送接続を確認しますxferlog_std_format = YES#標準ログ形式を維持listen = NO#vsftpdがスタンドアロンモードで実行されないようにしますlisten_ipv6 = YES#vsftpdがIPv6ソケットでリッスンできるようにしますpam_service_name = vsftpd#PAMを設定しますvsftpdへのサービス名

FTPサーバーでユーザーリストを構成する

デフォルトでは、 user_list にあるファイル / etc / vsftpd / user_list それは 許可された FTPサービスを使用します。

のユーザーを制限するには chrootされた環境、次のディレクティブを使用します。

chroot_local_user = YES#ユーザーのchroot環境を作成するallow_writeable_chroot = YES#chrootjailディレクトリのユーザーに書き込み権限を許可する

ユーザーをホームディレクトリに制限するには、次のディレクティブを使用します。

userlist_enable = YES#vsftpdがユーザー名をロードできるようにするuserlist_deny = NO#ユーザーリスト内のユーザーへのアクセスを許可する

システムへの全体的なアクセスを提供する場合は、次のディレクティブを構成ファイルに追加します。

chroot_list_enable = YES chroot_list_file = / etc / vsftpd / chroot_list#このファイルリストのユーザーは全体的なアクセス権を持っています

Save と close 構成ファイル。

次に、を作成します chroot_list / etc / vsftpd / 次のコマンドを使用して、ディレクトリを作成します。

#/ etc / vsftpd / chroot_listにタッチ

ChrootFTPユーザー

そのリストで、システム全体へのアクセスを提供するユーザーのみを追加します。

FTPサービスにアクセスするためのユーザーを作成します

FTPサービスを使用するためのユーザーを作成するには、次のコマンドを使用します。

#useradd user1#passwd user1

そのユーザーをに追加します user_list ファイルを使用してユーザーをホームディレクトリに制限するには、次のコマンドを使用します。

#vim / etc / vsftpd / user_list

タイプ “図に示すように、」を挿入してそのユーザー名を入力します。

FTPユーザーを作成する

ESCを押して、 :wq! ファイルを保存します。

特定のユーザーにシステムへの全体的なアクセスを提供する場合は、そのユーザーを次のように追加します。 / etc / vsftpd / chroot_list。

再起動します VSFTPD サービス:

#systemctl restart vsftpd

構成の変更を適用する

次のコマンドを使用して、FTPサービスのステータスを確認します。

#systemctl status vsftpd

FTPサービスのステータスを確認する

FTP用のファイアウォールの構成

ファイアウォールを通過するFTPサービスを許可するには、次のコマンドを使用します。

#firewall-cmd — add-service = ftp —-パーマネント#firewall-cmd — reload

FTP用にfirewalldを構成する

ファイアウォール構成の変更を適用する

WindowsマシンからのFTPサーバーのテスト

FTPサーバーに接続するには、クライアントソフトウェアが必要です。 FTPで最も一般的に使用されるソフトウェアは FileZillaWINSCP、 など。接続にFileZillaを使用しています。

FTPクライアントソフトウェアを開き、次の詳細を入力して接続します。

ホスト —> IPアドレスまたはホスト名。

ユーザー名:FTPユーザー名(私の場合はuser1です)

パスワード

ポート:21

FTP接続をテストする

接続に成功すると、必要に応じてファイルをアップロード/ダウンロードできます。

FTP接続は正常にテストされました

結論

このチュートリアルでは、Centos 8でFTPサーバーをセットアップする方法、ユーザーをホームディレクトリに制限する方法、および読み取り/書き込みアクセスを許可する方法を学習しました。 また、特定のユーザーにシステムへの一般的なアクセスを許可する方法も確認しました。