FTPはファイル転送プロトコルの略です。これは、何十年もの間、コンピューター間でファイルを転送するための標準的な方法です。
このガイドでは、vsftpを使用してRocky linux 8にSFTPサーバーをインストールし、FTPプロトコルを介してクライアントとサーバー間でファイルを迅速かつ安全に転送する方法を学習します。
関連コンテンツ:
- Rocky Linux /CentOS8サーバーでSFTPサーバーをセットアップする方法
先に進む前に、サーバーがパッケージを更新したことを確認しましょう。次のコマンドを使用します:
sudo dnf update -y
vsftpdをインストール
VSFTPDは、デフォルトのRockyLinuxリポジトリで使用できます。次のコマンドを使用してインストールします:
sudo dnf install -y vsftpd
プロンプトが表示されたら、「 Y
」と入力します 操作を完了できるようにします。
vsftpdサービスはデフォルトでは開始されません。次のコマンドを使用して開始します:
sudo systemctl start vsftpd
サービスが稼働していることを確認します
$ sudo systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-02-14 08:32:41 UTC; 7s ago
Process: 72141 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 72142 (vsftpd)
Tasks: 1 (limit: 23168)
Memory: 584.0K
CGroup: /system.slice/vsftpd.service
└─72142 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Starting Vsftpd ftp daemon...
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Started Vsftpd ftp daemon.
最後に、起動時にサービスを開始できるようにします。
sudo systemctl enable vsftpd
Firewalldをインストールして有効にしている場合は、次のコマンドを使用してftpサービスを許可します。
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd –-reload
VSFTPDの構成
デフォルトのvsftpd構成ファイルは、 /etc/vsftpd/vsftpd.conf
にあります。 道。ファイルを編集する前に、ファイルをバックアップして、問題が発生した場合に元のファイルに戻せるようにします。
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
次に、お気に入りのテキストエディタでファイルを開きます。私はvimを使用しています:
sudo vim /etc/vsftpd/vsftpd.conf
まず、匿名ユーザーを無効にし、ローカルユーザーを許可するようにFTPサーバーを設定しましょう。
構成ファイルで次のエントリを見つけて、次のエントリと一致するように編集します。
anonymous_enable=NO
local_enable=YES
匿名アクセスは危険です。リスクを理解していない限り、匿名アクセスは避ける必要があります。
次に、ログインしたユーザーがFTPサーバーにファイルをアップロードできるようにします。このlinで書き込みアクセスを有効にしましょう:
write_enable=YES
FTPユーザーを自分のホームディレクトリに制限します。これはしばしば刑務所と呼ばれます またはchroot jail 。次の項目に一致するようにエントリを見つけて調整します。
chroot_local_user=YES
allow_writeable_chroot=YES
vsftpd ユーティリティは、承認されたユーザーリストを作成する方法を提供します。この方法でユーザーを管理するには、 userlist_enable
を見つけます エントリを入力し、ファイルを編集して次のようにします。
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
これで、 / etc / vsftpd / user_listを編集できます ファイルを作成し、ユーザーのリストを追加します。 (1行に1つずつリストします。) userlist_deny
オプションを使用すると、含めるユーザーを指定できます。 yes
に設定します リストをブロックされているユーザーに変更します。
構成ファイルの編集が終了したら、変更を保存します。 vsftpdを再起動します 変更を適用するサービス:
sudo systemctl restart vsftpd
新しいFTPユーザーを作成するには、次のように入力します。
sudo adduser ftpuser0
sudo passwd ftpuser0
新しいユーザーのパスワードを入力して確認するように求められます。
新しいユーザーをユーザーリストに追加します :
echo "ftpuser0" | sudo tee –a /etc/vsftpd/user_list
新しいユーザーのディレクトリを作成し、権限を調整します:
sudo mkdir -p /home/ftpuser0/ftp/upload
sudo chmod 550 /home/ftpuser0/ftp
sudo chmod 750 /home/ftpuser0/ftp/upload
sudo chown -R ftpuser0: /home/ftpuser0/ftp
これにより、 / home / ftpuser0が作成されます 新しいユーザー用のディレクトリ。アップロード用の特別なディレクトリがあります。 /uploadsディレクトリにのみアップロードの権限を設定します。
これで、作成したユーザーでFTPサーバーにログインできます。
ftp 10.2.11.9
このIPアドレスをシステムのIPアドレスに置き換えます。 LinuxでIPアドレスを見つけるには、 ip addr
コマンド。
システムはユーザー名の入力を求めます–以前に作成したユーザー名を入力します。パスワードを入力すると、システムがログインします。
FTPサーバーをローカルでテストするには、次のコマンドを使用します。
$ ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.3)
Name (localhost:rocky): rocky
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
独自のftpサーバーをセットアップすることができました。 FTP経由でサーバーにログインし、ファイルの転送を開始できるはずです。 FilezillaなどのFTPクライアントを使用して、作成したさまざまなアカウントでFTPサーバーに最終的にアクセスし、ファイルの転送を開始できます。