FTPサーバのProFTPDをインストールする手順を記載します。
Table of Contents
1 ProFTPDのインストール
ProFTPDパッケージをインストールします。
$ cat <<EOF | sudo debconf-set-selections proftpd-basic shared/proftpd/inetd_or_standalone select standalone EOF $ sudo apt install -y proftpd
ローカルユーザによるアップロードを可能にします。匿名ユーザによる読み込みを可能にします。匿名ユーザによるアップロードを許可しません。
$ cat <<EOF | sudo tee /etc/proftpd/conf.d/anonymous.conf <Anonymous ~ftp> User ftp Group nogroup UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> EOF
ProFTPDを有効にして再起動します。
$ sudo systemctl enable proftpd $ sudo systemctl restart proftpd
匿名ユーザ向けにファイルを設置します。
$ echo "anon" | sudo tee /srv/ftp/anon.txt
2 ProFTPDへの接続
lftpでProFTPDへ接続します。
$ 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 ftp ftp 5 Aug 8 07:43 anon.txt -rw-r--r-- 1 ftp ftp 170 Apr 5 2016 welcome.msg