Very Secure FTP Daemon
Run the application via docker run
. The vsftpd options can be passed as environment variables:
docker run \
--env VSFTPD_OPTION_ANONYMOUS_ENABLE=YES \
--name vsftpd \
--net host \
--volume /srv/ftp:/srv/ftp \
timonier/vsftpd
Image timonier/vsftpd
is provided with:
- syslog-stdout. The connection logs are accessible via
docker logs
:
docker logs vsftpd
# ...
# ftp:info: Nov 2 15:30:17 vsftpd[11]: [ftp] OK LOGIN: Client "::ffff:127.0.0.1", anon password "anon@localhost"
- libpam-pwdfile. It is possible to have "virtual" users:
docker run \
--detach \
--env PAM_PWDFILE="/tmp/users" \
--env VSFTPD_OPTION_ALLOW_WRITEABLE_CHROOT=YES \
--env VSFTPD_OPTION_ANONYMOUS_ENABLE=NO \
--env VSFTPD_OPTION_CHROOT_LOCAL_USER=YES \
--env VSFTPD_OPTION_GUEST_ENABLE=YES \
--env VSFTPD_OPTION_GUEST_USERNAME=root \
--env VSFTPD_OPTION_LOCAL_ENABLE=YES \
--env VSFTPD_OPTION_LOCAL_ROOT=/srv/ftp \
--env VSFTPD_OPTION_PASV_ENABLE=NO \
--env VSFTPD_OPTION_VIRTUAL_USE_LOCAL_PRIVS=YES \
--env VSFTPD_OPTION_WRITE_ENABLE=YES \
--name vsftpd \
--net host \
--volume /srv/ftp:/srv/ftp \
timonier/vsftpd
docker exec -ti vsftpd adduser-ftp usernameA passwordA
docker exec -ti vsftpd adduser-ftp usernameB passwordB