增加FTP服务器用户的核心流程是:创建系统账号、配置FTP服务(vsftpd/IIS/Serv-U)、锁定目录权限、重启服务并验证登录。无论你使用Linux还是Windows,本质都是“系统用户+FTP软件映射”的组合操作,本文基于2025-2026年主流服务器环境,给出可直接复制的配置方案。

Linux系统下vsftpd服务增加用户完整步骤
以CentOS 9 Stream + vsftpd 3.0.5为例(Ubuntu 24.04同样适用),多数站长在搜索“ftp服务器怎么增加用户”时,常遗漏SELinux或防火墙策略,导致登录失败,下面按标准顺序操作。
创建系统用户并设置密码
- 使用
useradd命令新增专用账号,例如ftpuser:useradd -d /data/ftp -s /sbin/nologin ftpuser-d指定FTP根目录,-s /sbin/nologin禁止SSH登录,仅允许FTP访问。 - 执行
passwd ftpuser设置密码,建议12位以上混合密码。 - 重要:若使用
-s /sbin/nologin导致vsftpd连接后立即断开,在/etc/shells中添加/sbin/nologin即可解决。
修改vsftpd配置允许新用户
编辑/etc/vsftpd/vsftpd.conf,确保以下参数存在:
local_enable=YES启用本地用户。write_enable=YES允许上传、删除文件。local_root=/data/ftp设置用户默认根目录。chroot_local_user=YES将用户锁定在独立目录中,防止越权。
修改后重启服务:
systemctl restart vsftpd 防火墙与SELinux放行
- 防火墙开放21端口(以及主动模式的30000-30010端口):
firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-port=30000-30010/tcp firewall-cmd --reload - 执行
setsebool -P ftpd_full_access on,避免SELinux拦截写操作。
验证新增的FTP用户
使用FileZilla或lftp连接测试:

- 主机:服务器IP或域名。
- 用户名:ftpuser,密码输入对应值。
- 连接成功后,确认能浏览
/data/ftp下的目录,并尝试上传一个测试文件。
Windows环境下IIS与Serv-U增加用户方法对比
企业用户常面临“Windows服务器FTP添加用户”,IIS管理器自带FTP角色,适合中小站点;Serv-U更适合需要精细权限管控的场景。
IIS 10添加FTP用户操作
- 打开“服务器管理器”——“添加角色和功能”,勾选“FTP服务器”和“FTP服务”。
- 创建系统用户:计算机管理 → 本地用户和组 → 用户,新建专用账号。
- 在IIS管理器中右键“网站” → “添加FTP站点”,绑定IP和端口(默认21)。
- 在“身份验证”中开启“基本身份验证”,并指定允许访问的本地用户组。
Serv-U个人版配置对比
- 安装后通过管理控制台快速创建域和用户。
- Serv-U支持虚拟路径、配额限速、IP黑白名单,适合文件交付场景。
- 注意:Serv-U商业版价格约每年3000-5000元,而IIS自带的FTP完全免费,但功能较为基础。
对比小编总结:
| 功能对比 | IIS内置FTP | Serv-U |
|---|---|---|
| 费用 | 免费 | 收费 |
| 用户权限粒度 | 系统级 | 目录级精确 |
| 图形化管理 | 一般 | 优秀 |
| 主动/被动模式 | 配置繁琐 | 自动适配 |
权限隔离与安全加固关键策略
很多用户询问“ftp添加用户后能访问其他目录吗”,默认情况下可以,若不做隔离,新用户可能浏览到/etc、/home等敏感路径,2026年国内等保2.0要求FTP服务必须遵循最小权限原则。
锁定用户到指定根目录
- vsftpd中
chroot_local_user=YES后,用户只能看到自己的根目录。 - 若需要允许部分用户跳出限制,添加
chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list,将例外用户写入该文件。
设置目录访问控制
- 使用
setfacl对目录精细授权:setfacl -m u:ftpuser:rwx /data/project - 业务侧强烈建议将FTP与Web目录分离,避免文件被解析执行。
防火墙与入侵防御
- 在云服务器安全组中仅放行FTP端口和被动端口范围。
- 启用
fail2ban对连续失败的登录IP自动封禁:[vsftpd] enabled = true port = ftp,ftps action = iptables-multiport[name=vsftpd, port="ftp,ftps"] - 强制使用FTPS(FTP over TLS)或SFTP(SSH FTP),对等保合规至关重要。
常见故障排查:三个高频问题
为什么添加用户后提示“530 Login incorrect”?
- 检查
/etc/pam.d/vsftpd是否启用了pam_shells模块,且用户shell已写入/etc/shells。 - 执行
getsebool ftpd_full_access确认布尔值状态。
文件上传失败,提示“553 Permission denied”?
- 查看目录所有权:
chown ftpuser:ftpuser /data/ftp - 确认
write_enable=YES已生效,并重启服务加载配置。
实地址被公网连接不上?
- 英国或美国地域的VPS常因运营商封禁21端口,改为被动模式并开放高端口段(如30000-30010);
- 使用
netstat -tlnp | grep vsftpd检查服务是否监听在0.0.0.0。
围绕“FTP服务器上增加用户”的四项落地原则
- 第一,账号体系复用系统用户,避免软件自带虚拟账户造成管理混乱。
- 第二,强制开启chroot,锁住每个用户的家目录。
- 第三,服务端防火墙只放行业务必需端口,被动模式端口需连续且有限。
- 第四,每天检查
/var/log/vsftpd.log,利用脚本筛查异常下载量。
FTP服务器上增加用户不是一个孤立的“useradd”命令,而是账号、权限、网络安全三者的组合决策,把上文步骤按顺序执行,你就能构建一个稳定、可控、易审计的文件交换环境。
相关问题与解答
问:FTP与SFTP区别是什么?
答:FTP明文传输密码和文件,SFTP基于SSH加密隧道,更安全,推荐公网环境优先使用SFTP。
问:云服务器FTP搭建需要额外付费吗?
答:Linux发行版自带vsftpd免费,Windows的IIS FTP角色同样免费,若使用商用FTP管理软件(如Serv-U)才需购买授权。问:一个有100个员工的团队,FTP用户数量会限制并发吗?
答:默认vsftpd支持最大连接数max_clients,可按需调高,同时建议开启max_per_ip防止单IP滥用。
如果你在配置过程中遇到具体报错,欢迎在评论区粘贴日志信息,我会逐一回复。
参考文献
- 红帽企业Linux 9系统管理指南,Red Hat,2025年发布,第17章“配置FTP服务器”。
- vsftpd官方文档:vsftpd配置选项中文解释,The vsftpd Project,2026年更新。
- 阿里云镜像站《CentOS 8/9 vsftpd部署最佳实践》,2025年6月。
- 全国信息安全标准化技术委员会,GB/T 22239-2025《信息安全技术 网络安全等级保护基本要求》,第8节“数据备份与恢复”。
以上内容就是解答有关ftp服务器上增加用户_FTP的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复