2.协议和学习如何去搭建和配置服务服务?|

2022-08-18 0 10,420 百度已收录

文章目录

第二个数据传输桥——FTP服务前言

在网上下载的时候,我们知道是通过20和21端口的ftp合约来完成的,所以本文将去了解FTP合约,学习如何搭建和配置FTP服务。

一、FTP 合约1.FTP 合约介绍

FTP(FileTransferProtocol,文件传输合约)是TCP/IP合约组中的合约之一。

2.FTP的作用

FTP 合约由两部分组成,第二部分是 FTP 服务器,第一部分是 FTP 客户端。 FTP 服务器用于存储文件,用户可以使用 FTP 客户端通过 FTP 合约访问位于 FTP 服务器上的资源。在开发网站时,一般会通过 FTP 合约将网页或程序传输到 Web 服务器上。据悉,由于 FTP 传输效率非常高,所以通常在 Internet 上传输大文件时使用该合约。

3.FTP的工作原理和模式

默认情况下,FTP 合约使用两个 TCP 端口,20 和 21,其中 20 用于传输数据c ftp下载文件到本地c ftp下载文件到本地,21 用于传输控制信息。而且,是否使用20作为数据传输的端口,与FTP使用的传输方式有关。如果使用主动模式,则数据传输端口为20;如果使用被动模式,最终要使用的具体端口需要服务器和客户端协商。 .

主动模式:服务器主动发起数据链路。要求客户端和服务器都打开和窃听同一个端口来创建连接,如果此时客户端有防火墙,会出现一些问题,所以这些模式不常用。

被动模式:服务器被动等待数据连接。只需要服务端监听一个端口,客户端可以在需要的时候连接。

二、FTP服务安装与配置

通常我们在Linux系统中使用vsftpd服务(verysecureFTPdaemon)来使用FTP服务。 vsftpd 是 Linux 发行版中最受推崇的 ftp 服务器程序之一。特点是细腻柔软,安全好用。它可以在Linux、BSD、Solaris、HP-UNIX等系统上运行。它是一个完全免费、开源的ftp服务器软件,支持许多其他ftp服务器不支持的功能。例如:安全要求特别高、带宽限制、扩展性好、可创建虚拟用户、支持IPv6、高速。

1.下载 vsftpd 服务

系统一开始没有vsftpd服务,需要yum下载:

有时候下载不成功会报错

此时只需删除文件/var/run/yum.pid;或者 kill-9 可以杀死被占用的进程。

2.配置 vsftpd 服务

只需要更改系统中的配置文件/etc/vsftpd/vsftpd.conf即可:

[root@localhost ~]# 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    #允许删除、重命名、覆盖等操作。需添加
:wq  #保存退出
[root@localhost ~]# chmod 777 /var/ftp/pub/ #为匿名访问ftp的根目录下的pub子目录设置最大权限,以 便匿名用户.上传数据
[root@localhost ~]# systemctl start vsftpd  #开启vsftpd服务
[root@localhost ~]# systemctl stop firewalld  #关闭防火墙
[root@localhost ~]# setenforce 0  #关闭核心防护

以上配置在Linux系统中完成。

3.通过windows测试ftp功能

在Windows系统下按WIN+R,然后输入cmd命令打开命令提示符。

然后在命令提示符界面执行以下操作:

ftp交互的命令有:

ftp>pwd#匿名访问ftp的根目录是Linux系统的/var/ftp/目录

ftp>ls#查看当前目录

ftp>cdpub#切换到pub目录

ftp>getfilename#下载文件到当前Windows本地目录

ftp>put filename#上传文件到ftp目录

ftp>退出#quit

4.设置本地用户认证访问ftp,严禁切换到/var/ftp以外的目录

同时更改配置文件/etc/vsftpd/vsftpd.conf

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=Yes     #启用本地用户
anonymous_enable=NO  #关闭匿名用户访问
write_enable=YES     #开放服务器的写权限(若要上传,必须开启) 
local_umask=077      #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES         #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES    #允许被限制的用户主目录具有写权限
#anon_mkdir_write_enable=YES  注释	
#anon_other_write_enable=YES  注释
[root@localhost ~]# systemctl restart vsftpd  #重启服务

然后去windows测试一下

可以看到,当我们输入pwd的时候,即使是在根目录下也显示出来了,并且该目录下没有centos系统的根目录的内容,然后尝试切换到/etc目录看看是否成功:

可以看出我们切换到/etc目录失败。应该是我们已经设置了用户通过ftp登录的根目录为/var/ftp,但是进入其他目录失败。

5.更改默认根目录供匿名和本地用户登录

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anon_root=/var/ftp     #anon_root 针对匿名用户
local_root=/var/ftp    #local_root针对系统用户

6.设置黑白名单

[root@localhost ~]# vim /etc/vsftpd/user_list #使用user_list用户列表文件

最后添加需要添加的用户,然后进入配置文件启用user_list用户列表文件:

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf  #修改配置文件
userlist_enable=YES    #启用user_list用户列表文件
userlist_deny=NO       #设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁用

结束

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 2.协议和学习如何去搭建和配置服务服务?| https://www.wkzy.net/game/8346.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务