美文网首页
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