てみブログ

てみブログ

個人的な覚書用です

FTPサーバー作成(Linux)

前提:
LHEL 8.4
FTPのライブラリはvsftpdを使用。
作成や更新はRootユーザーでやる(sudo)

vsftpdのインストール

インストールされているか確認する。

$ vsftpd -v

バージョンが出たらインストール済み。

無ければインストールする。

$ sudo yum install -y vsftpd

インストールできたら起動する。

$ sudo systemcrl start vsftpd

自動起動させる場合は、enable設定を行う。

$ sudo systemctl enable vsftpd

確認

$ sudo systemctl is-enabled vsftpd

enabledならOK

FTP用のユーザーを作成する。

操作はLinuxのユーザー作成手順に従う。
ここではユーザー名をftp_userとした。

$ sudo useradd ftp_user

/home/ftp_user が作成されたことを確認。

$ sudo passwd ftp_user

パスワードを2回入力して設定。

vsftpdの初期設定

以下に設定ファイルがあるのでVimで開く

$ sudo vi /etc/vsftpd/vsftpd.conf

以下の主要な設定をする。

anonymous_enable=NO
  #不特定のユーザーによるログインを拒否する(デフォルトでNOになってた)

chroot_local_user=YES
  #接続先のディレクトリより上位のディレクトリを参照不可にする。

pasv_enable=YES
  #デフォルトでパッシブモードで接続する。

pasv_min_port=10001
pasv_max_port=10100
  #パッシブモードで使用するポート範囲を記述する。

user_config_dir=/etc/vsftpd/ftp
  #FTP接続先を定義する。

クライアントからの接続

とりあえずサーバー上で試す。
ftpをインストールする。

$ sudo yum install -y ftp

インストールできたら起動

$ ftp

openして、localhostに接続する。

$ ftp
ftp> open
(to) localhost

ユーザーとパスワードを聞かれる。
さっき設定したftp_userで接続する。

クライアント操作

user  ログインする。(ログインに失敗したときにこれでリトライ)

pwd  サーバーのディレクトリパスを表示する lcd  ローカルのディレクトリパスを表示する。

ls  サーバーのファイル一覧を表示する。

cd 移動先  サーバーのディレクトリを移動する。
lcd 移動先  ローカルのディレクトリを移動する。

get ファイル名  サーバーのファイルを取得する。
put ファイル名  ローカルのファイルをアップロードする。