ftp 文件服务器搭建教程,文件服务器部署方法

搭建FTP文件服务器,最先要确定使用人群规模。三五个人内部传文件,Windows系统部署FileZilla Server上手最简单。面向网站、开发团队使用,Linux环境下vsftpd稳定性更好。两套方案都放在下面,你对照自身环境挑选。

Windows方案:FileZilla Server

访问filezilla-project.org下载FileZilla Server,注意不要下成客户端程序。安装一路默认下一步,软件默认注册成系统服务,开机自动运行。安装完成打开管理界面,点击Connect to Server,地址填写127.0.0.1,端口14147,密码留空直接连接。

ftp 文件服务器搭建教程,文件服务器部署方法

连接成功第一件事修改管理密码。菜单栏Edit→Settings→Administration,设置密码,否则任何人都可以访问管理端口。之后新建用户,左侧Users,右侧Add,输入用户名,勾选Password设置登录密码。用户创建完成,进入Shared folders点击Add,选定专门存放文件的目录,例如D盘FTP文件夹。权限选项按需勾选读、写、删除、追加、新建目录、删除目录。只允许下载,仅开启读权限;需要上传就增加写、追加;删除、重命名权限谨慎开放,权限过大容易误删文件。

被动模式必须配置。进入Settings→Passive mode settings,勾选Use custom port range,填写50000到51000。下方External IP address,如果服务器部署在路由器后方,填入公网IP;不填写的话客户端能够登录,但无法列出目录。Windows防火墙新建入站规则,协议TCP,开放21端口以及50000-51000端口,允许连接。

测试用另一台电脑,文件资源管理器地址栏输入ftp://你的IP,弹窗输入账号密码,能够浏览文件代表部署成功。登录成功但看不到目录,基本都是被动模式端口没有放行。

Linux方案:vsftpd

Ubuntu、Debian执行apt install vsftpd,CentOS使用yum install vsftpd。安装完毕备份配置文件cp /etc/vsftpd.conf /etc/vsftpd.conf.bak,配置出错可以回滚。

打开配置文件修改参数:anonymous_enable=NO关闭匿名访问;local_enable=YES允许本地用户登录;write_enable=YES开启写入权限;chroot_local_user=YES锁定用户在自家目录。新版vsftpd不允许用户家目录拥有写权限,添加allow_writeable_chroot=YES,不然连接报错提示模糊。

被动模式追加三行配置:pasv_enable=YES,pasv_min_port=50000,pasv_max_port=51000。服务器在NAT环境,增加pasv_address=你的公网IP。ufw防火墙执行ufw allow 21/tcp和ufw allow 50000:51000/tcp。SELinux开启状态,运行setsebool -P ftp_home_dir on和setsebool -P allow_ftpd_full_access on。

新建FTP专用账号useradd -d /home/ftpuser -s /sbin/nologin ftpuser,shell指定nologin,该账号只能FTP登录,无法SSH访问。执行passwd ftpuser设置密码。家目录权限设置755,内部新建上传目录单独分配写权限。

重启服务systemctl restart vsftpd。本机测试ftp 127.0.0.1,登录后ls查看目录,put上传文件测试。本地正常、远程无法连接,检查被动端口与pasv_address配置。

文件服务器部署通用要点

无论选用哪套软件,有几项操作必须落实。FTP账号不要复用系统账号,禁止使用root,单独创建虚拟用户或者专用账号。用户家目录和系统目录隔离,最好单独分区挂载数据盘,防止用户上传文件占满系统盘。开启磁盘配额,限制每个用户存储上限,例如10G,超出就禁止上传。

加密方面,原生FTP明文传输,账号密码、文件内容裸传。启用FTPS也就是FTP over TLS。vsftpd配置ssl_enable=YES,填写证书路径,强制本地用户使用TLS登录。FileZilla Server进入Settings→SSL/TLS,生成自签名证书或者导入正式证书。客户端连接会弹出证书警告,确认即可,安全性远高于明文传输。

开启日志记录。vsftpd配置xferlog_enable=YES,记录文件上传下载行为。FileZilla Server在Logging选项设置日志保存路径。定期查看日志,发现异常IP频繁尝试登录,直接防火墙拉黑。

如果只是内部少量人员使用,不想配置FTP繁杂规则,可以考虑SFTP。依托SSH 22端口传输,默认加密,服务器开启SSH服务就可以直接使用,无需额外安装程序。缺点是权限绑定系统账号,虚拟用户权限管理不如FTP灵活。服务器已经部署SSH,SFTP属于零成本方案,FileZilla客户端选择SFTP协议,端口填写22就能连接。

最后提醒,FTP服务器不要对公网开放匿名可写权限。最低底线匿名账号仅可读,大量数据泄露事件根源都是匿名上传。公网暴露FTP会持续遭到端口扫描,密码设置复杂,条件允许修改默认21端口到高位端口,减少扫描攻击。

免责声明:本文提供的方法与建议仅供技术参考,实际部署效果受机房环境、运营商线路、系统配置等多重因素影响。请在专业人员指导下操作,因自行操作导致的业务损失本站不承担责任。

相关推荐