一、FTP服务概述
1.定义
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。主要是用来传输文件的协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于建立数据连接并传输数据,21用于奖励控制连接并传输控制信息。
2.数据连接
FTP数据连接分为主动模式和被动模式
主动模式
客户端给服务端的21控制端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会连接客户端已打开的那个数据端口把东西传给客户端,这就是主动模式。可以理解为服务器主动发起数据连接。
被动模式
客户端给服务器端的21端口发命令说,我要下载什么什么,服务端知道后,就打开一个空闲的端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧。于是客户端就从那个端口进去拿文件了,这就是被动模式.可以理解为服务器被动等待数据连接。

二、FTP配置
1.安装FTP服务
前置条件是服务端已经配置DHCP,配置本地yum源仓库,安装ftp服务并备份配置文件
[root@host ~]# yum install -y vsftpd
//查询ftp服务是否安装成功
[root@host ~]# ls /mnt/Packages/ | grep vsftpd
vsftpd-3.0.2-28.el7.x86_64.rpm
2.匿名账户的部署过程
查询配置文件并备份
//查询配置文件目录
[root@host ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@host yum.repos.d]# cd /etc/vsftpd/
[root@host vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
//备份配置文件
[root@host vsftpd]# cp vsftpd.conf{,.bak}
[root@host vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
修改配置文件,设置软件级别的允许权限
[root@host vsftpd]#vim vsftpd.conf
//开启匿名用户访问
anonymous_enable=YES
//开放服务器的写权限(若要上传,必须开启)。默认已开启
write_enable=YES
//设置匿名用户所上传数据的权限掩码(反掩码)。
anon_umask=022
//允许匿名用户上传文件。默认已注释,需取消注释
anon_upload_enable=YES
//允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_mkdir_write_enable=YES
//允许删除、重命名、覆盖等操作。需添加
anon_other_write_enable=YES
设置系统级别的权限
[root@host ~]# cd /var/ftp/
[root@host ftp]# mkdir aaa
[root@host ftp]# ll
总用量 0
drwxr-

本文详细介绍了FTP服务的基本概念,包括数据连接的主动和被动模式,然后逐步演示了如何在Linux系统中配置FTP服务,包括安装vsftpd,设置匿名账户的访问权限,以及创建和管理本地用户,同时涉及了防火墙和安全设置的调整,确保FTP服务的安全运行。
最低0.47元/天 解锁文章
5432

被折叠的 条评论
为什么被折叠?



