一、FTP的概念
- FTP服务——用来传输文件的协议
- FTP是一种上传和下载用的软件。用户可以通过它把自己的PC机与运行FTP协议的服务器相连,访问服务器上的程序和信息
- 与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。
- FTP服务器默认使用TCP协议的20、21端口进行通信
(20端口用于建立数据连接并传输文件数据,21端口用于建立控制连接并传输FTP控制命令) - FTP数据连接可以分为主动模式(服务器主动发起数据连接)和被动模式(服务器被动等待数据连接)
二、操作过程
开始之前先挂载镜像
2.1 安装软件包,备份文件
yum install -y vsftpd #安装软件vsftpd
cd /etc/vsftpd/ #切换到/etc/vsftpd目录下,配置文件为/etc/vsftpd/vsftpd.conf
cp vsftpd.conf vsftpd.conf.bak #修改配置文件之前先备份,它没有模板
2.2 修改配置文件
vim /etc/vsftpd/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 #允许删除、重命名、覆盖等操作,需添加
2.3 赋权
chmod 777 /var/ftp/pub #为匿名访问ftp的根目录下的 pub子目录设置最大权限,以便匿名用户上传数据
2.4 开启FTP服务,关闭防火墙和安全机制
systemctl start vsftpd #开启服务
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭系统安全机
2.5 匿名访问测试
windows 10:
ftp 192.168.184.10 #建立ftp连接
ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls #查看当前目录
ftp> cd pub #切换到pub 目录
ftp> get 文件名 #下载文件到当前Windows本地目录
ftp> put 文件名 #上传文件到ftp目录
ftp> quit #退出