FTPサーバのProFTPDをインストールする手順を記載します。
Table of Contents
1 ProFTPDのインストール
ProFTPDパッケージをインストールします。
> sudo zypper -n in proftpd
ローカルユーザによるアップロードを可能にします。匿名ユーザによる読み込みを可能にします。匿名ユーザによるアップロードを許可しません。
> sudo sed \ -e 's/AuthOrder[[:space:]]*mod_auth_file.c/AuthOrder mod_auth_unix.c mod_auth_file.c/g' \ -i /etc/proftpd/proftpd.conf
ファイアウォールでFTP用のポートを開放します。
> cat <<EOF | sudo tee /etc/sysconfig/SuSEfirewall2.d/services/proftpd ## Name: ProFTPD Server ## Description: Opens ports for ProFTPD Server. TCP="ftp 40000:40999" EOF > for t in FW_CONFIGURATIONS_EXT FW_CONFIGURATIONS_DMZ FW_CONFIGURATIONS_INT; do sudo sed -e "s/^${t}=\"\(.*\)\"/${t}=\"\1 proftpd\"/g" \ -i /etc/sysconfig/SuSEfirewall2 done > sudo sed -e 's/^FW_LOAD_MODULES="\(.*\)"/FW_LOAD_MODULES="\1 ip_conntrack_ftp"/g' \ -i /etc/sysconfig/SuSEfirewall2 > sudo systemctl restart SuSEfirewall2
ProFTPDを有効にして再起動します。
> sudo systemctl enable proftpd > sudo systemctl restart proftpd
匿名ユーザ向けにファイルを設置します。
> echo "anon" | sudo tee /srv/ftp/anon.txt
2 ProFTPDへの接続
lftpでProFTPDへ接続します。
> sudo zypper -n in 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