FTP服务配置
文件传输协议 (File Transfer Protocol,FTP),用于在网络上进行文件传输的协议。如果用户需要将文件从本机发送到另一台计算机,可以使用FTP上传操作;反之,用户可以使用FTP从其他计算机将文件下载到本机。基于C/S架构
建立两种类型连接:
数据连接:20端口用于建立数据连接,并传输文件数据;控制连接:21端口用于建立控制连接,并传输FTP控制命令
数据传输模式:
主动模式(PORT模式):服务器主动发起数据连接;被动模式(PASV模式):服务器被动等待数据连接
FTP服务器的用户:
匿名、本地、虚拟用户
安装与配置FTP服务器
vsftpd(very secure FTP daemon)是一款免费、开源的FTP服务器软件。
一、配置网络、配置本地yum仓库,并安装vsftpd软件包
yum -y install vsftpd
二、更改配置文件
vsftpd的配置文件 |
|
文件名: | 说明: |
/etc/vsftpd/vsftpd.conf |
FTP服务器主配置文件 |
etc/vsftpd/ftpusers | 禁止登陆FTP服务器的用户列表(黑名单) |
etc/vsftpd/user_list | 禁止或允许登陆FTP服务器的用户列表 (白名单) |
/etc/vsftpd/chroot_list | 限制/排除名单,控制用户能否切换到自己根目录之外 |
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bak # 备份
设置匿名用户访问FTP服务(最大权限)
anonymous_enable=[YES|NO] | 是否允许匿名用户访问 |
local_enable=[YES|NO | 是否允许本地用户登录FTP;主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。 |
write_enable=YES | 是否启用写入权限 |
anon_umask=022 | 匿名用户上传文件的umask值 |
anon_upload_enable=[YES|NO] | 是否允许匿名用户上传文件 |
anon_mkdir_write_enable[YES|NO] | 是否允许匿名用户创建目录 |
anon_other_write_enable=[YES|NO] | 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限) |
anon_root=/ftp | 指定匿名用户的主目录 |
或:在配置文件最上面一行添加:anon_root=/mnt(为mkdir创建路径文件)
修改目录权限:为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户上传数据
三、设置权限、关防火墙、重启
cd /var/ftp
chmod -R 777 /var/ftp/pub
systemctl stop firewalld
setenforce 0
systemctl restart vsftpd
查看21号端口是否被监听,确认vsftpd服务正常运行:
netstat -ntlp | grep vsftpd
四、测试
client:匿名访问测试---在Linux创建文件:
yum -y install ftp
在windows上创建文件:
或:在此电脑 》 ftp://IP地址
设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
设置用户并测试
useradd lll
passwd 123456
设置黑名单、白名单并测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)