应用场景:
openstack 开启一个实例centos74搭建一个ftp服务
1. 我已经创建了一个ftp 用户,命令如下:
useradd ftpuser -d /ftp/share/ftpuser -s /bin/bash -g ftp
这里也可以使用:
useradd ftpuser -d /ftp/share/ftpuser -s /sbin/nologin -g ftp
2.配置 vsftpd服务vsftpd.conf如下:
anonymous_enable=YES
allow_writeable_chroot=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
问题(ftpuser登入):
1.登录(本地)
web 上登录ftp ------ OK
expore 登入ftp ------ OK
运行中登入FTP ------- FALSE 显示根目录所有文件
原因在于:
chroot_local_user=YES
chroot_list_enable=YES
这两个配置不能同时打开, 注释掉 chroot_local_user.
2外网不能登录,外网登录用户名密码验证通过,但是获取目录失败:
原因在于,Openstack是通过外网转发到内网如
外网IP: 192.168.56.101
内网ip: 172.20.0.1
ftp 从外网192.168.56.101访问,对于vsftpd服务来说需要配置一个外网ip
vsftpd.conf 加上:
pasv_address= 192.168.56.101
ftp服务有port模式和pasv模式,默认配置的就可以满足使用要求了.