首页主机资讯centos vsftp配置文件详解

centos vsftp配置文件详解

时间2025-12-11 22:11:04发布访客分类主机资讯浏览1263
导读:CentOS 下 vsftpd 配置文件详解 一 配置文件位置与格式 主配置文件:/etc/vsftpd/vsftpd.conf。配置项格式为option=value,等号两侧不能有空格;以**#开头为注释。vsftpd 默认在此路径查找...

CentOS 下 vsftpd 配置文件详解

一 配置文件位置与格式

  • 主配置文件:/etc/vsftpd/vsftpd.conf。配置项格式为option=value,等号两侧不能有空格;以**#开头为注释。vsftpd 默认在此路径查找配置文件。常用布尔值可设为YES/NO**。示例:anonymous_enable=YESwrite_enable=YES。该文件控制匿名访问、本地用户、写权限、日志、端口、chroot、SSL 等关键行为。

二 核心配置项速查

  • 基础访问
    • anonymous_enable=YES/NO:是否允许匿名登录(默认YES)。
    • local_enable=YES/NO:是否允许本地系统用户登录(默认NO,示例配置常为YES)。
    • write_enable=YES/NO:是否允许写操作(全局开关,默认NO,示例常为YES)。
    • local_umask=022:本地用户新建文件的权限掩码(常见为022)。
  • 匿名用户细化
    • anon_upload_enable=YES/NO:允许匿名上传(需同时开启 write_enable,默认NO)。
    • anon_mkdir_write_enable=YES/NO:允许匿名建目录(默认NO)。
    • anon_other_write_enable=YES/NO:允许匿名删除/重命名等(默认NO)。
    • anon_world_readable_only=YES/NO:仅允许下载“世界可读”文件(默认YES)。
    • anon_root=/var/ftp:匿名登录根目录(默认**/var/ftp**)。
  • 本地用户与目录限制
    • chroot_local_user=YES/NO:是否将所有本地用户禁锢在其家目录(默认NO)。
    • chroot_list_enable=YES/NO:是否启用 chroot 用户列表(默认NO)。
    • chroot_list_file=/etc/vsftpd.chroot_list:chroot 列表文件路径。
    • allow_writeable_chroot=YES/NO:是否允许 chroot 目录可写(默认NO,开启可避免某些客户端在禁锢目录内写入时报错)。
  • 日志与提示
    • xferlog_enable=YES/NO:启用传输日志(默认NO,示例常为YES)。
    • xferlog_file=/var/log/xferlog:wu-ftpd 风格传输日志路径。
    • xferlog_std_format=YES/NO:是否使用标准 xferlog 格式(默认NO)。
    • dual_log_enable=YES/NO:同时生成 xferlog 与 vsftpd 日志(默认NO)。
    • dirmessage_enable=YES/NOmessage_file=.message:进入目录显示提示信息。
    • ftpd_banner=...banner_file=...:登录横幅。
  • 传输与端口
    • connect_from_port_20=YES/NO:主动模式是否使用20端口发起数据连接(示例常为YES)。
    • pasv_enable=YES/NO:是否启用被动模式(默认YES)。
    • pasv_min_port=1024pasv_max_port=1048:被动模式端口范围(建议固定范围便于防火墙放行)。
    • listen=YES/NOlisten_ipv6=NO:是否以独立模式监听(默认YES),与 IPv6 互斥。
    • max_clients=0max_per_ip=0:最大连接数/每 IP 最大连接数(0 为不限制)。
  • 访问控制
    • userlist_enable=YES/NOuserlist_deny=YES/NOuserlist_file=/etc/vsftpd.user_list:用户列表访问控制(两种语义:黑名单或白名单)。
    • pam_service_name=vsftpd:PAM 认证配置文件名(对应**/etc/pam.d/vsftpd**)。
    • tcp_wrappers=YES/NO:是否启用 TCP Wrappers(/etc/hosts.allow、/etc/hosts.deny)。
    • /etc/vsftpd/ftpusers:系统级禁止登录的高权限用户列表(如 root 等),优先级高于 user_list 的允许规则。
  • SSL/TLS(可选)
    • ssl_enable=YES/NOallow_anon_ssl=NOforce_local_logins_ssl=YESforce_local_data_ssl=YES
    • ssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NO
    • rsa_cert_file=rsa_private_key_file=:证书与私钥路径。

三 典型场景配置示例

  • 示例A 本地用户安全发布(禁锢家目录,主动/被动均可)

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    xferlog_file=/var/log/xferlog
    xferlog_std_format=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    listen=YES
    pasv_enable=YES
    pasv_min_port=21234
    pasv_max_port=30999
    userlist_enable=YES
    userlist_deny=NO
    tcp_wrappers=YES
    pam_service_name=vsftpd
    

    要点:禁锢用户后,若需写入,开启allow_writeable_chroot=YES;被动模式固定端口便于防火墙放行(示例范围21234–30999)。

  • 示例B 启用 TLS 加密传输

    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_logins_ssl=YES
    force_local_data_ssl=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    rsa_cert_file=/etc/vsftpd/vsftpd.pem
    rsa_private_key_file=/etc/vsftpd/vsftpd.pem
    pasv_min_port=21234
    pasv_max_port=30999
    

    要点:生成 PEM 证书后,客户端需使用FTPS;被动端口同样建议固定并放行。

四 访问控制与用户列表优先级

  • 文件与语义
    • /etc/vsftpd/ftpusers:系统级禁止登录列表(如 root),优先级高。
    • /etc/vsftpd.user_list:配合 userlist_enable=YES 使用;当 userlist_deny=YES 时为黑名单,当 userlist_deny=NO 时为白名单(仅列表内用户可登录)。
  • 组合效果(chroot 场景)
    • chroot_local_user=YES, chroot_list_enable=NO所有用户均被禁锢。
    • chroot_local_user=NO, chroot_list_enable=YES仅列表用户被禁锢。
    • chroot_local_user=YES, chroot_list_enable=YES仅列表用户不被禁锢(其余禁锢)。
    • chroot_local_user=NO, chroot_list_enable=NO所有用户均可跳出家目录。

五 常见问题与排查要点

  • 上传失败或 553 Could not create file
    • 检查目录属主/权限(如本地用户对目标目录具备写权限)。
    • 检查 SELinuxgetsebool -a | grep ftp;必要时执行:setsebool -P ftp_home_dir on(允许本地用户家目录写入),或 setsebool -P ftpd_full_access on(放行更宽松的 FTP 访问),再重启 vsftpd。
  • 被动模式连接失败(425 Failed to establish connection)
    • 在防火墙放行被动端口范围(如21234–30999),并确保 pasv_min_port/pasv_max_port 已设置;云服务器还需在安全组放行对应端口。
  • 配置语法错误
    • 布尔值必须为YES/NO,且等号两侧不能有空格;多余空格会导致如“500 OOPS: bad bool value”等错误。
  • 日志与调试
    • 开启 xferlog_enable=YESdual_log_enable=YES 便于定位;需要协议级调试可启用 log_ftp_protocol=YES(与 xferlog_std_format 互斥)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos vsftp配置文件详解
本文地址: https://pptw.com/jishu/769848.html
如何在centos上监控vsftp性能 centos如何配置php的openssl

游客 回复需填写必要信息