vsftpdを動かすための設定

Pocket

ftpの実験を行うために、ftpサーバーを動かしました

現在は、wu-ftpdでもなくproftpdでもなく、vsftpdがデフォルトなんですね
久しぶりすぎて忘れてしまっていたのでメモ

下のファイルは Momonga Linux6 にデフォルトでインストールされる vsftpd 2.1.0 の設定ファイルです。

今回は、ユーザー名でログインでき、ファイルの転送ができるようにします。

anonymous_enable=YES
#local_enable=YES
#write_enable=YES
#local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

初期設定の場合、Anonymousでしかログインできません。

local_enable=YES

のコメントを外して、vsftpdを再起動します。

# service start vsftpd

Anonymousを拒否する場合は、下のように書き換えます。

anonymous_enable=NO

なお、ftpes(explicit ftps) を使いたい場合は、

ssl_enable=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem

を vsftpd.conf に追記してください。
vsftpd.pem がない場合は、鍵を作成します。

make vsftpd.pem を実行するときに、国のコードなど色々聞かれます。
Enter連打でも鍵は作成できます。

$ cd /etc/pki/tls/certs/
# make vsftpd.pem
# cp vsftpd.pem /etc/vsftpd/vsftpd.pem

vsftpd を再起動して設定を読み込ませます。
これで、explicit ftps では接続できますが、ftpでは接続できなくなります。

# service restart vsftpd

explicit ftps で接続できない場合は、ftpでの接続も許可する場合は
vsftpd.conf に下記の記述を追記しましょう。

force_local_logins_ssl=NO

ftps の確認方法ですが、wireshark でパケットを見ればわかります。
ftp だとユーザー名とパスワードがもろ見えです。
ftps だと見えなくなりますので。

lftp コマンドが explicit ftps が対応していると ftpes で接続しますので、
ftp コマンドよりも lftp が良いと思います。

コメントを残す