使用docker部署ftp服务以及sftp服务

使用docker部署FTP服务

1.拉取镜像

docker pull fauria/vsftpd

2.启动后容器:

docker run -d -v /var/ftp:/home/vsftpd \
-p 2020:20 -p 2121:21 -p  21100-21110:21100-21110 \
-e FTP_USER=test -e FTP_PASS=demo@test12345 \
-e PASV_ADDRESS=你的服务器ip \
-e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \
--name xxx_vsftpd --restart=always fauria/vsftpd

/var/ftp是你服务器中的路径

/home/vsftpd是docker容器中的路径

-p:映射 docker 端口(冒号前面是宿主机的端口)
-e FTP_USER=test -e FTP_PASS=test :设置默认的用户名密码(都为 test) PASV_ADDRESS:宿主机 ip,当需要使用被动模式时必须设置。 PASV_MIN_PORT~
PASV_MAX_PORT:给客服端提供下载服务随机端口号范围,默认 21100-21110,与前面的 docker 端口映射设置成一样。

3.配置多个用户:

进入docker容器里面

docker exec -it 容器id bash
cat /etc/vsftpd/virtual_users.txt
vi /etc/vsftpd/virtual_users.txt
加入新的用户名密码:test2 test2@demo123
创建用户目录:mkdir /var/ftp/test2
生存二进制文件:db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
重启ftp:docker restart 容器id

4.连接

ftp IP 端口

使用docker部署SFTP服务

步骤一:拉取SFTP Docker镜像

docker pull atmoz/sftp

步骤二:创建SFTP容器

docker run -d -v /path/to/sftp:/home/sftp -p 2222:22 --name sftp --restart=always atmoz/sftp user:pass:::upload

这个命令中的关键参数说明如下:

-d:以后台模式运行容器
-v /path/to/sftp:/home/sftp:将主机上的/path/to/sftp目录挂载到容器内的/home/sftp目录,用于存储SFTP用户的文件
-p 2222:22:将主机的2222端口映射到容器内的22端口,用于SFTP连接
–name sftp:将容器命名为sftp
–restart=always:设置容器自动重启
atmoz/sftp:使用atmoz/sftp镜像
user:pass:::upload:创建一个用户名为user、密码为pass的SFTP用户,该用户具有上传文件的权限
请将/path/to/sftp替换为你希望的存储路径,user和pass替换为你希望的用户名和密码。

步骤三:配置SFTP用户

现在我们需要配置SFTP用户的权限和目录。进入容器的bash终端,执行以下命令:

docker exec -it sftp bash

然后,在容器的bash终端中执行以下命令:

usermod -d /home/sftp/upload user
chown root:root /home/sftp
chmod 755 /home/sftp
chown user /home/sftp/upload

这些命令的作用如下:

usermod -d /home/sftp/upload user:将SFTP用户的默认目录更改为/home/sftp/upload
chown root:root /home/sftp:将SFTP用户的根目录的所有权更改为root用户
chmod 755 /home/sftp:设置SFTP用户的根目录权限为755,这样其他用户只能读取或执行根目录
chown user /home/sftp/upload:将/home/sftp/upload目录的所有权更改为SFTP用户
请将user替换为之前创建的SFTP用户名。

步骤四:测试SFTP连接

sftp -P 端口号 用户名@IP地址

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值