Ubuntu 22.04でvsftpdを使ってFTPをセットアップ


もうすぐUbuntu 24.04が出ると思うけど、やり方は変わらないと思うのでそのままメモった。
Ubuntu Server 22.04、IPv4での環境を使用しています。

まずはvsftpdのインストールをする。

                    $ sudo apt install vsftpd
                

もしサービスの再起動を求められたらTabキーでOKを選択し押す。

次にvsftpdのconfigを設定する。

ただ、そのまま設定すると行数が分からなくて不便なので、nanoのconfigを設定して行数を表示させる。

                    $ sudo nano /etc/nanorc
                

ちょっと下にスクロールした所に"# set linenumbers"というのがあるので、コメント解除する。
(緑で"set locking"と書いてあるところの上にある)

                    set linenumbers
                

保存したら、vsftpdのconfigを開く。

                    $ sudo nano /etc/vsftpd.conf
                

該当する箇所を修正する。

                    # 14行目:YESに変更
                    listen=YES
                    
                    # 22行目:NOに変更
                    listen_ipv6=NO
                    
                    # 31行目:コメント解除
                    write_enable=YES
                    
                    # 35行目:コメント解除
                    local_umask=022
                    
                    # 99行目:コメント解除
                    ascii_upload_enable=YES
                    
                    # 100行目:コメント解除
                    ascii_download_enable=YES
                    
                    # 103行目:コメント解除
                    # イコールに続く文章は好きな文章に変更できます
                    ftpd_banner=Welcome to blah FTP service.
                    
                    # 122行目:コメント解除
                    chroot_local_user=YES
                    
                    # 123行目:コメント解除
                    chroot_list_enable=YES
                    
                    # 125行目:コメント解除
                    chroot_list_file=/etc/vsftpd.chroot_list
                    
                    # ftp接続時の最上位パスを、ルート直下 / ディレクトリにアクセスできないようにし
                    # /home/USER/ ディレクトリにする場合、123行目と125行目をコメント解除せずに、次の文を追記する
                    allow_writeable_chroot=YES
                    
                    # 最終行に次の文を追記する
                    pasv_enable=YES
                    pasv_min_port=50000
                    pasv_max_port=60000
                

保存したら、vsftpdを再起動する。

                    $ sudo systemctl restart vsftpd
                

これでUbuntu側の設定は完了。
ftpソフトで、ホスト名にipアドレス、ユーザー名にUbuntuのユーザー名、パスワードにUbuntuのユーザーのパスワードを入力して接続できる。

おわり