4.FTP服务配置与原理

一,FTP文件传输协议

  • ftp用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层,TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证

  • FTP服务器默认使用 TCP 协议的 20 21 端口与客户端进行通信

  • VSFTP全称(very secure FTP)

  • VSFTP模式:C / S 模式

  • 20 端口用于建立数据连接,并传输文件数据

  • 21 端口用于建立控制连接,并传输 FTP 控制命令

1.1FTP 数据连接分为主动模式和被动模式

  • 主动模式(POST):服务器主动发起数据连接

  • 被动模式(PASV):服务器被动等待数据连接

工作原理图:

image-20220616145828016

1.2设置匿名用户访问的FTP服务(最大权限)

  • 1.关闭防火墙,核心防护,配置DNS,安装vsftpd服务,备份并开启服务和开机自启

image-20220616155043434

关闭防火墙和增强型安全功能
[root@c7-1 ~]# systemctl stop firewalld
[root@c7-1 ~]# setenforce 0
[root@c7-1 ~]# echo "nameserver 114.114.114.114 " >> /etc/resolv.conf

[root@c7-1 ~]# yum install vsftpd -y   //安装vsftpd服务
[root@c7-1 ~]# cd /etc/vsftpd/
[root@c7-1 ~]# cp vsftpd.conf vsftpd.conf.bak    //备份

启动服务并设置开启自启
[root@c7-1 ~]# systemctl start vsftpd
[root@c7-1 ~]# systemctl enable vsftpd
  • 2.进入配置文件里面主要都是干什么的
[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子目录设置最大权限,以便匿名用户上传数据



image-20220616161329814

image-20220616162123470

  • 3.匿名访问测试
  • 先在centos里,pub里面写入一个东西,方便在windows测试连接到FTP主机时查看是否上传或下载成功

image-20220616163735044

  • 切换到win10 win+r,输入命令打开命令提示符

    建立ftp连接
    ftp 192.168.113.125
    #匿名访问,用户名为ftp,密码为空,直接回车即可完成登陆
    
    ftp>pwd			//匿名访问ftp的根目录为Linux系统的/var/ftp/目录
    ftp>ls			//查看当前目录
    ftp>cd pub		//切换到pub目录
    ftp>get文件名	//下载文件到当前windows本地目录
    ftp>put文件名	//上传文件到ftp目录
    ftp>quit		//退出
    

下载到了我的电脑C盘里image-20220616165104049

  • 在测试上传带centos

先新建个文本输入内容

image-20220616165802833

上传,pwd查上传到了centos那里

image-20220616170706432

到centos里查到的目录查看是否上传

image-20220616170903526

1.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	//注释掉
local_root=/var/www/xtj2        //添加一个路径,改变登陆位置
[root@ftp vsftpd]# mkdir -p /var/www/xtj2  //vim配置完出来递归创建此目录
[root@ftp vsftpd]# chmod -R 777 /var/www/xtj2   //递归给与创建的目录权限
[root@ftp vsftpd]# useradd dxj2                 //创建个用户
[root@ftp vsftpd]# echo "100700" | passwd --stdin dxj2   //免交互给密码


[root@c7-1 ~]# systemctl restart vsftpd    //重启服务

ftp 192.168.113.125                       //进入Windows后的操作在下面

age-20220616184722409

把注释取消,添加允许被限制的用户主目录具有写权限

image-20220616185605276

注释掉

anon_ mkdir_write_enable=YES	//允许匿名用户创建(上传)目录
anon_other_write_enable =YES	//允许其他用户删除、重命名、覆盖等操作

image-20220616190119825

添加一个路径,改变登陆位置,

image-20220616191317247

vim配置完出来递归创建此目录

image-20220616191421064

递归给与创建的目录所有权限

image-20220616191630228

创建个用户,免交互给密码

image-20220616192016582

重启服务

image-20220616193220305

进入windows上传文件,之前创建的文件

image-20220616194224645

此时就上传到了指定创建的目录下

img-iIpaaBry-1655646674656)]

重启服务

[外链图片转存中…(img-rkwzy0wK-1655646674656)]

进入windows上传文件,之前创建的文件

[外链图片转存中…(img-WEpPvdjB-1655646674657)]

此时就上传到了指定创建的目录下

image-20220616194315757

猜你喜欢

转载自blog.csdn.net/weixin_61269220/article/details/125363043