首页主机资讯vsftp在Debian上的配置步骤

vsftp在Debian上的配置步骤

时间2026-01-18 21:37:03发布访客分类主机资讯浏览514
导读:在 Debian 上配置 vsftpd 的完整步骤 一 安装与基础准备 更新索引并安装 vsftpd: sudo apt update sudo apt install vsftpd -y 启动并设置开机自启: sudo syst...

在 Debian 上配置 vsftpd 的完整步骤

一 安装与基础准备

  • 更新索引并安装 vsftpd:
    • sudo apt update
    • sudo apt install vsftpd -y
  • 启动并设置开机自启:
    • sudo systemctl start vsftpd
    • sudo systemctl enable vsftpd
  • 备份默认配置:
    • sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
  • 说明:Debian 的 vsftpd 包通常已包含 SSL 支持,无需单独安装“vsftpd-ssl”包;若 apt 提示找不到该包,可直接使用系统自带 OpenSSL 证书与配置启用 TLS。

二 核心配置 vsftpd.conf

  • 编辑配置文件:
    • sudo nano /etc/vsftpd.conf
  • 常用基础配置(按需求调整):
    • 监听与协议
      • listen=YES
      • listen_ipv6=NO
    • 身份与权限
      • anonymous_enable=NO
      • local_enable=YES
      • write_enable=YES
      • local_umask=022
    • 目录与日志
      • dirmessage_enable=YES
      • xferlog_enable=YES
      • connect_from_port_20=YES
    • 禁锢与可写
      • chroot_local_user=YES
      • allow_writeable_chroot=YES
  • 用户访问控制(二选一或组合)
    • 仅允许白名单用户登录(推荐)
      • userlist_enable=YES
      • userlist_file=/etc/vsftpd.user_list
      • userlist_deny=NO
      • 在 /etc/vsftpd.user_list 中逐行写入允许登录的用户名
    • 使用 chroot 例外列表(可选)
      • chroot_list_enable=YES
      • chroot_list_file=/etc/vsftpd.chroot_list
      • 在 /etc/vsftpd.chroot_list 中写入需要“解除禁锢”的用户名
  • 说明:chroot_local_user=YES 会将本地用户限制在其主目录;若需主目录可写,请同时设置 allow_writeable_chroot=YES。

三 创建 FTP 用户与目录

  • 创建专用系统用户(禁止 shell 登录,更安全):
    • 检查 nologin 路径:which nologin(通常为 /usr/sbin/nologin/sbin/nologin
    • sudo useradd -m -d /srv/ftp/ftpuser -s /usr/sbin/nologin ftpuser
    • sudo passwd ftpuser
  • 设置目录权限:
    • sudo mkdir -p /srv/ftp/ftpuser
    • sudo chown ftpuser:ftpuser /srv/ftp/ftpuser
    • sudo chmod 755 /srv/ftp/ftpuser
  • 若使用 nologin 作为登录 shell,确保其存在于 /etc/shells,否则部分客户端或 PAM 可能拒绝登录:
    • echo “/usr/sbin/nologin” | sudo tee -a /etc/shells
  • 将允许登录的用户名写入白名单:
    • echo “ftpuser” | sudo tee -a /etc/vsftpd.user_list

四 启用 TLS 加密传输

  • 生成自签名证书(示例有效期 365 天):
    • sudo mkdir -p /etc/ssl/private
    • sudo chmod 700 /etc/ssl/private
    • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
      -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
  • 在 vsftpd.conf 中启用 SSL/TLS(与上文配置合并):
    • ssl_enable=YES
    • allow_anon_ssl=NO
    • force_local_data_ssl=YES
    • force_local_logins_ssl=YES
    • ssl_tlsv1=YES
    • ssl_sslv2=NO
    • ssl_sslv3=NO
    • rsa_cert_file=/etc/ssl/private/vsftpd.pem
    • rsa_private_key_file=/etc/ssl/private/vsftpd.pem
  • 提示:若需更高兼容性,可在 ssl_tlsv1=YES 基础上按需开启 TLSv1.1/1.2(如 ssl_tlsv1_1=YES、ssl_tlsv1_2=YES),但应禁用不安全的 SSLv2/SSLv3

五 防火墙与连接测试

  • 防火墙放行(UFW 示例):
    • 主动模式:sudo ufw allow 21/tcp
    • 被动模式端口范围(示例 40000:50000):sudo ufw allow 40000:50000/tcp
    • 若启用 FTPS:sudo ufw allow 990/tcp
    • sudo ufw reload
  • 重启服务使配置生效:
    • sudo systemctl restart vsftpd
  • 客户端测试(如使用 FileZilla):
    • 主机:服务器 IP
    • 协议:FTP(若启用 TLS,选择 FTP over TLS/SSL(显式)
    • 端口:21(FTPS 为 990
    • 登录:使用 ftpuser 与密码
  • 日志排查:
    • 传输与登录日志通常位于 /var/log/vsftpd.log,可用 tail -f /var/log/vsftpd.log 实时查看。

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


若转载请注明出处: vsftp在Debian上的配置步骤
本文地址: https://pptw.com/jishu/784807.html
ubuntu stream8有社区支持吗 Linux中Tomcat的安全策略如何配置

游客 回复需填写必要信息