FTPサーバのvsftpdをインストールする手順を記載します。
Table of Contents
1 vsftpdのインストール
vsftpdパッケージをインストールします。
$ sudo apt install -y vsftpd
ローカルユーザによるアップロードを可能にします。匿名ユーザによる読み込みを可能にします。匿名ユーザによるアップロードを許可しません。
$ cat <<EOF | sudo tee /etc/vsftpd.conf listen=YES local_enable=YES xferlog_enable=YES connect_from_port_20=YES pam_service_name=vsftpd # Enable upload by local user. write_enable=YES # Enable read by anonymous user (without username and password). secure_chroot_dir=/var/run/vsftpd/empty anonymous_enable=YES anon_root=/srv/ftp allow_anon_ssl=YES no_anon_password=YES
anon_chrootのディレクトリを作成します。
$ sudo mkdir /srv/ftp $ sudo chown nobody:nogroup /srv/ftp $ echo "anon" | sudo tee /srv/ftp/anon.txt
vsftpdを有効にして再起動します。
$ sudo systemctl enable vsftpd $ sudo systemctl restart vsftpd
2 vsftpdへの接続
lftpでvsftpdへ接続します。
$ sudo apt install -y lftp
ユーザ名を指定して接続します。パスワードは-u <username>,<password>で指定できます。接続するとホームディレクトリが表示されます。ユーザの権限の範囲内ですべてのディレクトリへアクセスできます。
$ lftp -u hiroom2 ftp-server.hiroom2.com Password: lftp hiroom2@ftp-server.hiroom2.com:~> pwd ftp://hiroom2@ftp-server.hiroom2.com/%2Fhome/hiroom2 lftp hiroom2@ftp-server.hiroom2.com:~> ls / drwxr-xr-x 2 0 0 4096 Jul 29 07:12 bin drwxr-xr-x 4 0 0 1024 Aug 05 12:16 boot drwxrwxr-x 2 0 0 4096 Oct 09 2016 cdrom -rw------- 1 0 0 17711104 Jan 21 2017 core drwxr-xr-x 21 0 0 4020 Aug 06 01:22 dev drwxr-xr-x 133 0 0 12288 Aug 06 01:22 etc drwxr-xr-x 4 0 0 4096 Aug 06 01:22 home <snip>
ユーザ名を指定しない場合、匿名ユーザで接続します。 anon_rootで指定したディレクトリが表示され、それより上のディレクトリへは移動できません(chrootした状態となります)。
$ lftp ftp-server.hiroom2.com lftp ftp-server.hiroom2.com:~> pwd ftp://ftp-server.hiroom2.com lftp ftp-server.hiroom2.com:~> ls / -rw-r--r-- 1 0 0 5 Aug 06 01:22 anon.txt