美文网首页
VSFTP 配置相关

VSFTP 配置相关

作者: Alexander_Zz | 来源:发表于2020-01-03 14:14 被阅读0次

应对场景

一般情况下运维只会接收到“需要个FTP”指令,运维坑次坑次去搭建了个FTP,研发在使用过程中拿不到文件。
研发:"你FTP配置不对!"
运维:“我FTP配置对的呀,上传和下载我都验证过了的,你程序没问题吧?”
研发:“我程序没问题呀,之前在 XXX 环境我的代码也是这样写的。”
运维:“之前在 XXX 环境我的FTP也是这样配置的,没有问题的呀。”

模式选择

作为研发保险的方式:代码自适应FTP的主被动模式。
作为运维保险的方式:在搭建FTP前需要问清楚FTP给谁用,用的客户端是否有防火墙,搭建的服务端是否有防火墙,综合这些因素来选择配置模式。

  • 情况一:client 没有防火墙
    可选择:主动模式,服务端防火墙开启21,20端口。
  • 情况二:server 没有防火墙
    可选择:被动模式
  • 情况三:双方都有防火墙
    可选择:被动模式高端口范围,服务端防火墙开启端口范围, client 用被动模式连接即可

相关配置

  • 主动模式
# 服务端如有防火墙,需开启端口21、20
connect_from_port_20=YES
pasv_enable=NO
  • 被动模式
# 服务端如有防火墙,需开启端口 30000 -- 30010
connect_from_port_20=NO
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30010

锁定主目录

  • 应对场景
    曾遇到一种情况FTP配置正确,使用账号和密码也能下载到文件,但是使用程序去下载时拼接到FTP地址就是不对的,少了文件所对应的目录。
    遇到这种情况应该是没有锁主目录所致。

  • 锁定主目录

# 用户写入 chroot_list 中
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
  • 不锁定
# 用户写入 chroot_list 中
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES

其他注意事项

  • 禁止 FTP 用户 SSH 登录
    从安全的角度来说,FTP账号需要禁止有SSH登陆,避免FTP用户SSH登陆服务器,对不该它操作的数据进行操作

  • 实现方式
    useradd -s /sbin/nologin USERNAME

相关文章

网友评论

      本文标题:VSFTP 配置相关

      本文链接:https://www.haomeiwen.com/subject/zathrctx.html