1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-28 17:51:24 +00:00
dockerfiles/pure-ftpd/README.md

72 lines
1.5 KiB
Markdown
Raw Normal View History

2017-03-14 01:46:01 +00:00
pure-ftpd
=========
![](https://www.pureftpd.org/images/pure-ftpd.png)
[Pure-FTPd][1] is a free (BSD), secure, production-quality and standard-conformant
2015-06-09 15:18:00 +00:00
FTP server. It doesn't provide useless bells and whistles, but focuses on
efficiency and ease of use. It provides simple answers to common needs, plus
unique useful features for personal users as well as hosting providers.
2015-06-09 15:42:50 +00:00
## ~/fig/pureftpd/docker-compose.yml
2015-06-09 15:18:00 +00:00
2017-03-14 01:46:01 +00:00
```yaml
2015-06-09 15:18:00 +00:00
pureftpd:
image: vimagick/pure-ftpd
ports:
- "21:21"
volumes:
2017-03-14 01:46:01 +00:00
- ./data/ftpuser:/home/ftpuser
- ./data/pure-ftpd:/etc/pure-ftpd
2015-06-09 15:18:00 +00:00
privileged: true
restart: always
```
2015-06-09 15:42:50 +00:00
2017-03-14 01:46:01 +00:00
> We only need to expose port `21` to accept client ftp connection.
2015-06-09 17:12:43 +00:00
> Pure-FTPd will open random port to accept client ftp-data connection.
> At this time, host machine is a router for DNAT.
2015-06-09 15:42:50 +00:00
## server
2017-03-14 01:46:01 +00:00
```bash
2015-06-09 15:42:50 +00:00
$ cd ~/fig/pureftpd/
2017-03-14 01:46:01 +00:00
$ docker-compose up -d
$ docker-compose exec pureftpd bash
2015-06-09 16:59:28 +00:00
>>> pure-pw useradd kev -u ftpuser -d /home/ftpuser/kev -t 1024 -T 1024 -y 1 -m
2015-06-09 15:42:50 +00:00
>>> pure-pw list
>>> pure-pw show kev
>>> pure-pw passwd kev -m
>>> pure-pw userdel kev -m
2015-06-09 16:59:28 +00:00
>>> pure-ftpwho -n
2015-06-09 17:12:43 +00:00
>>> exit
$ tree -F
.
├── docker-compose.yml
2017-03-14 01:46:01 +00:00
└── data/
├── ftpuser/
│   └── kev/
│   └── file.txt
└── pure-ftpd/
├── pureftpd.passwd
└── pureftpd.pdb
2015-06-09 15:42:50 +00:00
```
## client
2017-03-14 01:46:01 +00:00
```bash
2015-06-09 15:42:50 +00:00
$ ftp remote-server
Name: kev
Password: ******
2015-06-09 15:47:42 +00:00
ftp> !touch file.txt
2015-06-09 15:42:50 +00:00
ftp> !ls
ftp> put file.txt
ftp> !rm file.txt
ftp> get file.txt
ftp> del file.txt
ftp> ls
ftp> bye
```
2017-03-14 01:46:01 +00:00
[1]: https://www.pureftpd.org/project/pure-ftpd