云服务器创建FTP账号密码,本质上是为服务器系统添加一个用于FTP登录的专用用户,而非单独生成一组FTP专用凭证。简单说,你创建的FTP账号就是操作系统里的一个用户,密码就是该用户的系统密码,下面直接给出最常用的Linux环境(以CentOS/Ubuntu为例)操作全流程。
云服务器创建FTP账号密码的具体步骤
先明确一个场景:你刚买了一台云服务器,比如简米云、酷番云或华为云的ECS实例,系统是Linux,现在需要给同事或客户开一个FTP账号,让对方能上传下载文件,但又不想暴露服务器root权限,这时候你需要装一个FTP服务软件,最常见的当属vsftpd。
第一步:安装vsftpd服务
登录服务器(用SSH工具,比如Xshell或终端),执行:
yum install -y vsftpd # CentOS系列
apt install -y vsftpd # Ubuntu/Debian系列
装完先别急着用,先把服务跑起来:
systemctl start vsftpd
systemctl enable vsftpd # 设置开机自启
第二步:创建系统用户作为FTP账号
这才是“创建账号密码”的关键动作,用useradd命令新建用户,比如要给对方开一个叫ftpuser的账号:
useradd -s /sbin/nologin ftpuser # 禁止SSH登录,只能用来FTP
passwd ftpuser # 设置密码
系统会提示输入两次密码,输入时屏幕上不显示字符,这是正常的,别以为键盘坏了,密码建议用大小写字母+数字+符号的组合,长度不少于10位。
第三步:配置vsftpd允许该用户登录
默认配置下vsftpd可能禁止本地用户访问,需要改配置文件,路径在/etc/vsftpd/vsftpd.conf:
vim /etc/vsftpd/vsftpd.conf
确认或修改以下几个关键项:
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写入(上传文件)
local_umask=022 # 上传文件的默认权限
改完重启服务生效:
systemctl restart vsftpd
第四步:开放防火墙端口
云服务器有双重防火墙:云控制台的安全组和服务器内部的防火墙,FTP默认端口是21,你需要两处都放行。
安全组在云厂商控制台操作,服务器内部执行:
firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-service=ftp firewall-cmd --reload
这一步漏了,客户端连接时大概率报“连接超时”或“无法访问”,这是新手常踩的坑。
vsftpd和FileZilla Server两种环境怎么选
很多用户会混淆“搭建FTP服务”和“连接FTP的工具”,上面讲的是在Linux服务器上搭建FTP服务,用的是vsftpd,如果你买的是Windows云服务器,那就得换个思路。
Windows Server上的FTP搭建
Windows Server自带IIS的FTP功能,操作方法如下:
- 打开“服务器管理器” -> “添加角色和功能”
- 勾选“Web服务器(IIS)” -> “FTP服务器”
- 安装完成后,在IIS管理器里右键“添加FTP站点”
- 绑定IP和端口(默认21)
- 在“授权规则”里指定允许的用户,比如
ftpuser或指定IP段
Windows环境下创建FTP账号,同样是在系统里创建用户,路径是“计算机管理” -> “本地用户和组” -> “用户” -> “新用户”,输入用户名和密码即可。
两种环境的适用场景对比
| 维度 | Linux + vsftpd | Windows + IIS FTP |
|---|---|---|
| 性能 | 更高,适合高并发 | 一般,适合中小规模 |
| 安全性 | 配置灵活,可精细管控 | 依赖Windows防火墙策略 |
| 学习成本 | 需要命令行基础 | 图形界面,上手快 |
| 常见用途 | 网站服务器、数据备份 | 企业内部文件共享 |
行业共识认为,生产环境中的网站服务器绝大多数跑在Linux上,vsftpd是使用最广泛的FTP服务端软件,如果只是临时传几个文件,用FileZilla客户端连上就行了,不必纠结服务端是哪个。
ftp账号密码怎么设置才算安全
很多人图省事,直接把账号设成admin、密码设成123456,这相当于给服务器大门挂了个塑料锁,FTP本身是明文传输协议,密码在网络上是裸奔的,所以更要注意防护。
密码策略建议
- 长度不低于12位,混入大小写、数字、特殊字符
- 不要和服务器root密码相同
- 每个FTP账号单独设置密码,别共用
- 定期更换密码,建议每90天轮换一次

限制FTP用户的权限范围
默认情况下,FTP用户登录后可以切换到服务器任意目录,要把它锁定在自己的home目录里,修改vsftpd配置:
chroot_local_user=YES
这样用户登录后只能在自己目录里活动,看不到系统其他文件。
并发连接和流量限制
在vsftpd配置里加上:
max_clients=50 # 最大并发连接数
max_per_ip=5 # 单IP最大连接数
local_max_rate=1000000 # 限制传输速率1MB/s
这些参数能防止恶意用户占用过多带宽,影响服务器其他业务。
新买的云服务器怎么配置FTP账号密码
如果是刚购买服务器,还没装任何环境,建议按下面顺序操作,别跳步。
完整配置清单
- 系统准备:更新软件源,
yum update或apt update - 安装vsftpd:按前文命令安装
- 创建专用用户:一个业务一个账号,命名规范如
web_upload、db_backup - 配置目录权限:把FTP主目录设为
/var/www/html这类业务目录,用chown授予该用户权限 - 防火墙放行:控制台安全组和内部防火墙同步开放21端口
- 测试连接:用FileZilla或命令行
ftp 服务器IP测试
完事儿后怎么验证
用命令行登录测试:
ftp 你的服务器IP
输入用户名和密码,如果登录成功,会显示230 Login successful,再试试用ls命令能正常看到目录文件,用put命令上传一个小文件测试写入权限。
常见问题排查:连接失败或登录报错
连接不上FTP时,别慌,按照下边从高频到低频排查。
连接被拒绝或超时
先查防火墙,这是最普遍的原因,执行:
telnet 服务器IP 21
如果卡住没反应,基本可以确定是防火墙或安全组拦截,国内云厂商的安全组默认只开放22端口(SSH),21端口需要手动添加规则。
登录时报530 Login incorrect
- 确认用户名和密码有没有输错(注意区分大小写)
- 确认用户是否被锁定,执行
passwd -S ftpuser查看状态 - 确认vsftpd配置里
local_enable=YES是否生效

登录成功但无法上传文件
- 检查目录写权限:
chmod -R 755 /var/www/html - 检查vsftpd配置
write_enable=YES - 检查磁盘空间是否满了:
df -h
云服务器FTP账号与普通账号有何区别
很多刚接触服务器的用户会问:FTP账号不就是系统账号吗,为什么感觉不太一样?其实从技术上来说,FTP账号消耗的就是系统账号资源,但因为登录方式的限制,使用体验上会有所区别。
- 交互能力:普通账号能SSH登录执行任何命令,FTP账号通常设为
/sbin/nologin,不能执行终端命令 - 范围限制:FTP账号通过chroot被锁定在特定目录,普通账号默认可访问整个文件系统
- 用途分工:一个FTP账号通常只对应一个目录或一种业务,普通账号往往管理范围更大
大多数情况下给外部合作伙伴用的都建议FTP专用账号,不给SSH权限,减少安全风险。
如何创建FTP账号密码并管理多个账号的日常整理
当服务器上FTP账号多了以后,建议把账号和对应目录、用途记录在案,在/etc/vsftpd/user_list或/etc/vsftpd/chroot_list里维护白名单或黑名单,管理多个账号时可以随时查看:
cat /etc/passwd | grep ftp使用相关
这样就能看到哪些账号是给FTP用的,方便留存记录和清理离职同事的账号。
Q&A:云服务器创建FTP账号密码的常见疑问
Q1:FTP账号可以删除吗?删了会有什么影响?
可以删除,用userdel -r ftpuser命令连同home目录一起删除,删掉后,该FTP账号即刻无法登录,正在进行的传输连接也会中断,建议删除前先备份该目录下有价值的文件。
Q2:FTP密码忘了怎么办?
直接用root身份运行passwd ftpuser重设一个新密码,不需要知道旧密码,重设后立即生效,不会影响账号其他配置。
Q3:云服务器怎么创建FTP账号密码给多个用户用?
逐个创建系统用户并设置密码,然后配置vsftpd的chroot_local_user=YES让每个用户限制在自己目录里,云服务器性能和带宽有限,单个FTP服务并发连接建议控制在50以内,大量用户同时访问时最好划分不同目录或适当限速。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/745061.html

