docker pure-ftp 搭建ftp服务器的方法

1.采用docker-compose搭建ftp服务器

docker-compose.yml的内容如下

ftp:
 image: stilliard/pure-ftpd

 volumes:
  - "../wp/app:/home/ftpusers/code"
  - "./pure-ftpd:/etc/pure-ftpd"
 ports:
  - "21:21"
  - "30000:30000"
  - "30001:30001"
  - "30002:30002"
  - "30003:30003"
  - "30004:30004"
  - "30005:30005"
  - "30006:30006"
  - "30007:30007"
  - "30008:30008"
  - "30009:30009"
 environment:
  PUBLICHOST: localhost

当该服务器可以连接互联网时,可以直接在docker-compose.yml所在的目录下执行:

$ docker-compose up -d

即可直接进行搭建,若该服务器无法连接外网,则需要将提前准备好的stilliard/pure-ftpd:latest镜像(如名称为:pure-ftpd.tar)载入该服务器

$ docker load -i pure-ftpd.tar

2.给ftp服务器增加虚拟用户

首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup 。

$ groupadd ftpgroup
$ useradd ftpuser -g ftpgroup -d /home/ftp -s /sbin/nologin

也可以是能登录系统的用户,但最好是不能登录系统的用户,安全。

然后利用pure-pw命令添加虚拟用户,如添加虚拟用户user1,并指定查看目录为/var/www/site1。

$ pure-pw useradd user1 -u ftpuser -g ftpgroup -d /var/www/site1

另:一个系统用户可以绑定多个虚拟用户,然后控制所查看的目录。如再添加虚拟用户user2,并指定查看目录为/var/www/site2

$ pure-pw useradd user2 -u ftpuser -g ftpgroup -d /var/www/site2

pure-pw完之后会要求输入密码,也就是设置登录ftp用户的密码。添加完之後,让 pure-ftpd 建立虚拟用户数据

$ pure-pw mkdb

这样完了之后:

$ /etc/init.d/pure-ftpd restart

我在添加虚拟用户时,在容器里面执行【/etc/init.d/pure-ftpd restart】没有起到作用,随后执行了ftp服务器容器的restart后,才可以正常使用,建议读者在使用此方法搭建ftp服务器时多尝试哈。

相关推荐