0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FTPサーバー導入してみた

Last updated at Posted at 2023-12-08

今回行ったこと

aws上にあるubuntuに対して、vsftpdをインストールして
ネットワーク越しにファイル転送ができるようにしました。

今回行わなかったこと

  • WFの設定
  • ftps化
    ※接続については、awsのセキュリティグループにてIP制限を行っているため
    セキュリティの考慮は厳密に行っていません

導入手順

vsftpdのインストール

今回はvsftpdを採用しました。

既にaptが利用できる状態だったので、そのまま利用しました。

sudo apt install vsftpd
vsftpd -v
vsftpd: version 3.0.5

FTP用ユーザーの作成

無事、インストールができたことを確認したので
FTP用のLinuxユーザーを作成します。

sudo useradd -m hoge
sudo passwd hoge

起動と自動起動の設定

sudo systemctl start vsftpd
sudo systemctl enable vsftpd
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-05-19 12:55:57 JST; 18min ago
 Main PID: 8044 (vsftpd)
    Tasks: 1 (limit: 9479)
   CGroup: /system.slice/vsftpd.service
           mq8044 /usr/sbin/vsftpd /etc/vsftpd.conf

vsftpd.confの設定

サービスがアクティブになることを確認したので、
設定を進めていきます。

今回は、FTPを利用できるユーザーの制限と
ディレクトリの閲覧に関する制限、パッシブモードの設定のみ行なっています。

# ログインディレクトリを変更
chroot_local_user=YES
# FTP許可をホワイトリスト方式にする
userlist_deny=NO
# ログイン時のディレクトリを指定
local_root=/home/hoge
# ファイルアップロード時のパーミッションを指定
local_umask=002
allow_writeable_chroot=YES
# パッシブモード
pasv_enable=YES
# パッシブモードのポートに50000~60000を割り当てる(※適宜読み替えてください)
pasv_min_port=50000
pasv_max_port=60000

FTP接続できるユーザーをホワイトリストで指定します

vsftpd.user_listを作成して
中身には「hoge」とだけ記載しました。

再起動

設定を反映させるために再起動します。

sudo systemctl restart vsftpd

ftp localhostしてみて接続が確認できました。
ログについては、デフォルトだと/var/logに出力されるようです。

参考

Vsftpd、FTPサーバーのインストールと基本構成
UbuntuでFTP(vsftpd)が行えるようにする方法

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?