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
元の構成ファイルのコピーを取ります/etc/vsftpd/vsftpd.conf 次のコマンドを入力します:
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
次に、次のコマンドを使用して、構成ファイルを編集します。
#vim /etc/vsftpd/vsftpd.conf
その中の次のディレクティブを見つけて設定します:
analogmous_enable =NO#匿名ユーザー(不明なユーザー)を無効にするlocal_enable =YES#ローカルユーザーを許可するwrite_enable =YES#ftp書き込みコマンドを許可するlocal_umask =022#デフォルトのumaskdirmessage_enable =YESを設定する#変更ディレクトリでメッセージを有効にするxferlog_enable =YES#アップロードのログ記録を有効にするdownloadsconnect_from_port_20 =YES#ポート20からのポート転送接続を確認しますxferlog_std_format =YES#標準ログformatlisten =NOを保持します#vsftpdがスタンドアロンで実行されないようにしますmodelisten_ipv6 =YES#vsftpdがIPv6でリッスンできるようにします/ pre>FTPサーバーでユーザーリストを構成する
デフォルトでは、 user_listに含まれるすべてのユーザー / etc / vsftpd / user_listにあるファイル 許可 FTPサービスを使用します。
chrootされた環境でユーザーを制限するには 、次のディレクティブを使用します:
chroot_local_user =YES#usersallow_writeable_chroot =YESのchroot環境を作成します#chrootjailディレクトリのユーザーに書き込み権限を許可しますユーザーをホームディレクトリに制限するには、次のディレクティブを使用します。
userlist_enable =YES#vsftpdがusernamesuserlist_deny =NOをロードできるようにする#ユーザーリスト内のユーザーへのアクセスを許可するシステムへの全体的なアクセスを提供する場合は、次のディレクティブを構成ファイルに追加します。
chroot_list_enable =YESchroot_list_file =/ etc / vsftpd /chroot_list#このファイルリストのユーザーは全体的なアクセス権を持っています構成ファイルを保存して閉じます。
次に、 chroot_listを作成します / etc / vsftpd /の下 次のコマンドを使用して、ディレクトリを作成します。
#touch / etc / vsftpd / chroot_list
そのリストで、システム全体へのアクセスを提供するユーザーのみを追加します。
FTPサービスにアクセスするためのユーザーを作成する
FTPサービスを使用するためのユーザーを作成するには、次のコマンドを使用します。
#useradd user1#passwd user1そのユーザーをuser_listに追加します ファイルを使用してユーザーをホームディレクトリに制限するには、次のコマンドを使用します。
#vim / etc / vsftpd / user_list「i」と入力します 図に示すように、」を挿入してそのユーザー名を入力します。
ESCを押して、:wq!と入力します ファイルを保存します。
特定のユーザーにシステムへの全体的なアクセスを提供する場合は、そのユーザーを / etc / vsftpd/chroot_listに追加します。
VSFTPDを再起動します サービス:
#systemctl restart vsftpd
次のコマンドを使用して、FTPサービスのステータスを確認します。
#systemctl status vsftpd
FTP用にファイアウォールを構成する
ファイアウォールを通過するFTPサービスを許可するには、次のコマンドを使用します。
#firewall-cmd --- add-service =ftp ----permanent#firewall-cmd --- reload
WindowsマシンからのFTPサーバーのテスト
FTPサーバーに接続するには、クライアントソフトウェアが必要です。 FTPで最も一般的に使用されるソフトウェアはFileZillaです 、 WINSCP、 など。接続にFileZillaを使用しています。
FTPクライアントソフトウェアを開き、次の詳細を入力して接続します。
ホスト —>IPアドレスまたはホスト名。
ユーザー名 :FTPユーザー名(私の場合はuser1)
パスワード
ポート:21
接続に成功すると、必要に応じてファイルをアップロード/ダウンロードできます。
結論
このチュートリアルでは、Centos 8でFTPサーバーをセットアップする方法、ユーザーをホームディレクトリに制限する方法、および読み取り/書き込みアクセスを許可する方法を学習しました。また、特定のユーザーにシステムへの一般的なアクセスを許可する方法も確認しました。
Cent OS