统信uos搭建ftp服务器必须完成四步闭环:一、apt安装vsftpd并systemctl status确认active(running);二、启用匿名访问需设anonymous_enable=yes等四参数并创建/srv/ftp/pub可写目录;三、配置本地用户须新建nologin账户、启用chroot_local_user=yes与allow_writeable_chroot=yes、加入userlist白名单;四、ufw放行21端口及被动模式端口段。

在统信UOS系统中实现文件跨设备共享或远程上传下载,必须先让系统具备FTP服务端能力——跳过服务端配置,仅安装客户端无法对外提供传输入口,FileZilla等工具只能连接别人,不能让自己被连接。
安装vsftpd并确认基础运行状态
统信UOS桌面版与服务器版均基于Debian体系,直接使用APT安装vsftpd可确保依赖完整、安全更新及时。
打开终端,执行系统索引更新:sudo apt update
安装FTP服务端程序:sudo apt install vsftpd -y
安装完成后立即检查服务注册状态:systemctl status vsftpd。此时应显示“loaded”但“inactive (dead)”,这是正常现象——vsftpd默认不自启,避免未配置即暴露风险。
启用服务并验证端口监听
只有启动服务且绑定21端口,外部客户端才能建立初始连接。这一步不可跳过,否则所有后续配置都无意义。
启用开机自启:sudo systemctl enable vsftpd
立即启动服务:sudo systemctl start vsftpd
检查21端口是否已被vsftpd监听:sudo ss -tlnp | grep :21。若输出中包含“vsftpd”且State为LISTEN,说明服务已就绪;若无任何输出,说明服务未真正运行,需回查上一步是否执行成功。
配置匿名访问(快速测试用)
适用于内网临时共享、服务连通性验证等场景,无需创建账号,访客以ftp用户身份访问预设目录。
方法一:备份原始配置防止误操作:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
编辑主配置文件:sudo nano /etc/vsftpd.conf
定位并修改以下四行参数(如某行被注释需取消#号):
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_upload_enable=YES
创建匿名根目录并开放写入权限:sudo mkdir -p /srv/ftp/pub && sudo chmod -R o+rw /srv/ftp/pub
注意:必须使用/srv/ftp而非/var/ftp,UOS默认配置指向/srv/ftp,改错路径将导致425错误。
重启服务使配置生效:sudo systemctl restart vsftpd
配置本地授权用户(生产推荐)
该方式为实际业务部署首选,每个用户拥有独立家目录、密码认证及Linux级权限控制,避免越权访问风险。
第一步:创建专用FTP系统用户,禁用交互式登录:sudo useradd -d /srv/ftp/testuser -s /usr/sbin/nologin testuser
第二步:设置该用户的登录密码:echo "testuser:123456" | sudo chpasswd
第三步:编辑vsftpd.conf,启用本地用户支持并强制chroot隔离:
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
第四步:添加用户至白名单,确保只有指定账户可登录:
在配置文件末尾追加两行:
userlist_enable=YES
userlist_deny=NO
然后执行:echo "testuser" | sudo tee -a /etc/vsftpd.user_list
第五步:重启服务并确认状态:sudo systemctl restart vsftpd && sudo systemctl status vsftpd
放行防火墙端口
统信UOS默认启用ufw防火墙,若不开放对应端口,局域网内其他设备将无法连接到本机FTP服务。
开放FTP控制端口21:sudo ufw allow 21
开放被动模式所需端口范围(建议30000–30009):sudo ufw allow 30000:30009/tcp
重新加载防火墙规则:sudo ufw reload











