文章目录
前言
ftp用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层,TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证
一、FTP概述
- FTP (File Transfer Protocol:文件传输协议)作用:Internet 上用来传送文件的协议。VSFTP全称(very secure FTP)
- VSFTP模式:C / S 模式
- FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令 - FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
[admin@c7-1 ~]$ yum info vsftpd //查看信息
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
可安装的软件包
名称 :vsftpd
架构 :x86_64
版本 :3.0.2
发布 :29.el7_9
大小 :173 k
源 :updates/7/x86_64
简介 : Very Secure Ftp Daemon
网址 :https://security.appspot.com/vsftpd.html
协议 : GPLv2 with exceptions
描述 : vsftpd is a Very Secure FTP daemon. It was written completely from
: scratch.
二、设置匿名用户访问的FTP服务(最大权限)
关闭防火墙和增强型安全功能
[root@c7-1 ~]# systemctl stop firewalld
[root@c7-1 ~]# setenforce 0
[root@c7-1 ~]# yum install vsftpd -y //安装vsftpd服务
[root@c7-1 ~]# cd /etc/vsftpd/
[root@c7-1 ~]# cp vsftpd.comf vsftpd.comf.bak //备份
启动服务并设置开启自启
[root@c7-1 ~]# systemctl start vsftpd
[root@c7-1 ~]# systemctl enable vsftpd
1.修改配置文件
[root@c7-1 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous enable=YES //开启匿名用户访问,默认已开启
write_enable=YES //开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022 //设置匿名用户所上传数据的权I限掩码(反掩码)
anon_upload_enable=YES //允许匿名用户.上传文件。默认已注释,需取消注释
anon_ mkdir_write_enable=YES //允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable =YES //允许删除、重命名、覆盖等操作。需添加
chmod 777 7var/ftp/pub/ //为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户上传数据
2.匿名访问测试
在win10 win+r,输入命令打开命令提示符
建立ftp连接
ftp 192.168.3.3
#匿名访问,用户名为ftp,密码为空,直接回车即可完成登陆
ftp>pwd //匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp>ls //查看当前目录
ftp>cd pub //切换到pub目录
ftp>get文件名 //下载文件到当前windows本地目录
ftp>put文件名 //上传文件到ftp目录
ftp>quit //退出
3.设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
[root@c7-1 ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=Yes //启用本地用户
anonymous_enable=NO //关闭匿名用户访问
write_ enable=YES //开放服务器的写权I限(若要上传,必须开启)
local_umask=077 //可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local user=YES //将访问禁锢在用户的宿主目录中
allow_writeable chroot=YES //允许被限制的用户主目录具有写权限
#anon_mkdir_write_enable=YES //注释掉
#anon_other_write_enable=YES //注释掉
[root@c7-1 ~]# systemctl restart vsftpd
ftp 192.168.3.3
ftp://zhangsan@192.168.3.3
anon_root=/var/www/html //anon root针对匿名用户
local_root=/var/www/html //local root针对系统用户
使用user_list用户列表文件
[root@c7-1 ~]# vim /etc/vsftpd/user_list //末尾添加张三用户
zhangsan
[root@c7-1 ~]# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES //启用user list用户列表文件
userlist_deny=NO //设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁用
总结
FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。可以使用FTP进行下载和上传。