一、前言 场景:公司需要搭建FTP服务器,供内网之前可以互相传递数据,安全稳定,需要满足开通多个账号,每个用户上传的文件有自己对应的文件目录。 这里建议:用户目录Disk尽量大一点,避免因为空间不足,导致上传失败

废话不说,直接上干货~ 二、搭建步骤 利用docker部署,这里需要有docker环境,这里小编采用docker-compose进行部署,所以需要有docker-compose服务。 docker环境的搭建详见这里: Centos7系统: https://blog.csdn.net/xu710263124/article/details/115632708 docker-compose部署

// 安装docker-compose

wget https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-Linux-x86_64

cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose version

1、搭建ftp服务 step1:

# 1、拉取vsftpd镜像

docker pull fauria/vsftpd

step2: 注意:这里选择一个Disk较大的盘,进行ftp信息存储, 编辑vsftpd-compose.yml文件

cd /data1/vsftp

vim vsftpd-compose.yml

version: "3"

services:

vsftpd:

image: fauria/vsftpd

container_name: vsftpd

restart: always

ports:

- "20:20"

- "21:21"

- "20000:20000"

volumes:

- "/data1/vsftp/ftp_user:/home/vsftpd"

- "/data1/vsftp/log/vsftpd:/var/log/vsftpd/"

environment:

- FTP_USER=admin

- FTP_PASS=admin

- PASV_MIN_PORT=20000

- PASV_MAX_PORT=20000

- PASV_ADDRESS=xxx.xxx.xxx.xxx

- LOG_STDOUT=1

# 注:这里指定的FTP_USER为admin,以及密码,还有对应的PASV_ADDRESS需改为自己的宿主机ip。

# PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围必须在服务器的防火墙中开启20、21、22和21100/21110端口

step3:这里需要提前创建好对应的ftp_user目录

// 不同用户上传的文件可在/data1/vsftp/ftp_user/下查询

mkdir -p /data1/vsftp/ftp_user

mkdir -p /data1/vsftp/log/vsftpd

step4:启动docker-compose文件

docker-compose -f vsftpd-compose.yml up -d

step5:启动成功后,通过文件夹形式访问 ftp://admin@xxx.xxx.xxx.xxx/ user: admin passwd:admin 或者添加一个网络位置都可。 输入用户名密码即可 连接远程FTP服务器。

三、添加FTP普通用户 如果要创建多用户,可执行如下操作: 3. 创建多用户ftp 3.1 进入容器

docker exec -it vsftpd /bin/bash

3.2 编辑配置文件 提示: 注意使用vi编辑指令,其中奇数行为用户名,临近的下一个偶数行为密码,创建container时参数未加入用户名和密码,系统会默认创建admin和随机密码. 添加新用户的文件夹,以用户名命名

[root@huang /]# cat /etc/vsftpd/virtual_users.txt

admin

admin

ftp1

ftp1

ftp2

ftp2

3.3 创建用户目录

mkdir -p /home/vsftpd/ftp1

mkdir -p /home/vsftpd/ftp2

3.4 生产二进制文件

#生成二进制文件

db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

3.5 重启docker

docker restart vsftpd

退出容器 就可以在宿主机的/data1/vsftp/ftp_user下看到创建的对应用户了 ok~这样就可以利用不同用户进行连接了

End~

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: