vsftp docker安装和用户校验无法通过问题解决

第一次使用docker安装 vsftp 用户登录问题搞了很久记录一下

一 .使用centos8的基础镜像创建容器 ,安装vsftp

个人偏向java,简单的在centos8的基础上安装了jdk

dockerhub镜像 

docker pull spikebob/centos8:v1.0.1

二.安装vsftp

​
yum -y install vsftpd

​

三.添加用户vsftp 修改密码(输入两次密码 密码太简单会有警告 不用管)

useradd vsftp

passwd vsftp

安装完成后 在 /etc/vsftpd 目录下有三个配置文件

ftpusers 和 user_list 类似于 黑名单和白名单  它们两个名单可以由vsftp.conf中的字段控制 进行黑白名单互换(黑名单变成白名单,白名单变成黑名单) 

由于懒的原因只解释几个重要的字段 其他的度娘可以搜到

四.修改配置文件

打开vsftpd.conf  

anonymous_enable=YES  // 是否允许匿名用户登录  YES 允许

userlist_enable=YES // 为YES时 ftpusers中用户不能访问

userlist_deny=NO // 默认值为 YES (为YES时 user_list 中的用户不能访问)

local_root=/home/vsftp //用户访问时默认打开的目录

anon_root=/home/vsftp //匿名用户访问时默认打开的目录

listen=YES  //监听ipv4

listen_ipv6=NO //监听ipv6

修改后完整的配置

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

listen_ipv6=NO

pam_service_name=vsftpd

userlist_enable=YES

userlist_deny=NO

local_root=/home/vsftp

anon_root=/home/vsftp

五.重新启动容器和vsftp

完成配置后退出容器 将容器提交为镜像(docker commit -a "作者" -m "描述"  vsftp(容器id或名称) XXX/vsftp:v1.0.0  (完整的标签))

        -e FTP_USER=vsftp 设置用户vsftp

        -e FTP_PASS=vsftppwd 设置用户密码为vsftppwd

嫌麻烦直接从dockerhub拉已经完成的镜像 (第二条命令,记得改密码和目录)

docker run -itd --privileged -e FTP_USER=userName-e FTP_PASS=passwd --name="容器名称" -v "服务器想要于docker容器绑定的目录":"docker容器的目录 注:一定要在容器中存在" -p 20:20 -p 21:21 -p 21100-21110:21100-21110   "容器id或完整标签"  /usr/sbin/init



docker run -itd --privileged -e FTP_USER=vsftp -e FTP_PASS=vsftppwd  --name=vsftp -v /root/data:/home/vsftp -p 20:20 -p 21:21 -p 21100-21110:21100-21110   spikebob/vsftp:v1.0.2  /usr/sbin/init

docker exec -it vsftp  /bin/bash 进入容器

systemctl start vsftpd 启动vsftp

六.使用xftp测试

使用xftp测试 在属性中把被动模式取消 

协议切换为ftp 主机使用公网ip

 完成连接

 注意vsftp默认只能在 vsftpd.conf 配置文件中设置的目录内上传和创建  其他目录只能下载(上传和创建报错 553

 vsftp简单的安装使用就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值