当前位置:首页 > 编程笔记 > 正文
已解决

Docker篇之利用docker搭建ftp服务器可实现多用户上传

来自网友在路上 11158115提问 提问时间:2023-12-02 21:31:20阅读次数: 115

最佳答案 问答题库1158位专家为你答疑解惑

一、前言
场景:公司需要搭建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/vsftpdcontainer_name: vsftpdrestart: alwaysports:- "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_usermkdir -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~

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Docker篇之利用docker搭建ftp服务器可实现多用户上传":http://eshow365.cn/6-42211-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!