Skip to content

ome/vsftpd-anonymous-upload-docker

Repository files navigation

vsftpd Anonymous Upload Docker Image

Actions Status

vsftpd is a GPL licensed FTP server for UNIX systems, including Linux.

This Docker image is configured to allow anonymous uploads only.

A very minimal level of access control is provided by listing allowed emails in /etc/vsftpd.email_passwords. /var/lib/ftp/incoming should be mounted as a volume, note permissions are important! xferlogs are sent to stdout.

Passive FTP ports are configured to fit with the default Kubernetes NodePort range since FTP does not support port-forwarding between different ports.

docker run -d --name vsftpd -p 21:21 -p 32022-32041:32022-32041 -v /var/lib/ftp/incoming vsftpd-anonymous-upload

Client

Login as anonymous, password allowed@example.org. You can upload files to incoming but listing is blocked.

$ ftp anonymous@127.0.0.1
Connected to 127.0.0.1.
220 Place files in /incoming for upload.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> ls
229 Entering Extended Passive Mode (|||21015|)
150 Here comes the directory listing.
d-wxrwx---    2 ftp      ftp          4096 Nov 29 17:06 incoming
226 Directory send OK.

ftp> put test.txt
local: test.txt remote: test.txt
229 Entering Extended Passive Mode (|||21052|)
553 Could not create file.

ftp> cd incoming
250 Directory successfully changed.

ftp> ls
229 Entering Extended Passive Mode (|||21018|)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).

ftp> put test.txt
local: test.txt remote: test.txt
229 Entering Extended Passive Mode (|||21017|)
150 Ok to send data.
100% |***********************************|     6       53.26 KiB/s    00:00 ETA
226 Transfer complete.
6 bytes sent in 00:00 (6.59 KiB/s)

ftp> ls
229 Entering Extended Passive Mode (|||21026|)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).

ftp> put test.txt
local: test.txt remote: test.txt
229 Entering Extended Passive Mode (|||21007|)
553 Could not create file.

ftp> rm test.txt
550 Permission denied.

Kubernetes helm chart

An experimental Kubernetes Helm chart is included (note the TODOs regarding configuration).

helm upgrade --install --namespace=vsftpd vsftpd ./helm -f helm-example-config/config.yaml [-f <volume-config>.yaml]

Maintainer

ome-devel@lists.openmicroscopy.org.uk

Acknowledgements

This image is based on https://github.com/vimagick/dockerfiles/tree/361bbf6e46665af72910542afaece71f27e46089/vsftpd

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy