小言_互联网的博客

23.LINUX——搭建与配置FTP服务器

330人阅读  评论(0)

1.概述

FTP(File Transfer Protocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。

ftp使用tcp的20、21端口,20端口是连接端口,用于传输数据。21端口是控制端口,用于和客户端建立连接。
两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是Passive (也就是PASV,被动方式)。

主动方式:
客户端首先和服务端的21端口建立连接,客户端在这个端口发送请求,服务端收到请求后,从自己的20端口建立一个新连接发送数据。

被动方式:
客户端和服务端的21端口建立连接,当客户端发送请求时,服务端打开一个1024-5000之间的端口并通知客户端在这个端口上传送数据,被动方式不需要和客户端新建立一个连接。

2.搭建与配置

2.1 搭建环境

服务器:CentOS 7 系统 ip:192.168.152.130
客户端:Win10 系统(本机)

2.2 配置文件

/etc/vsftpd/vsftpd.conf ---->ftp服务器的主配置文件
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/var/ftp
/var/ftp/pub

2.3 配置文件并实验效果

首先确定虚拟机里面安装了软件,没有安装的话需要先yum 安装一下:

在window下按window + r可打开DOS命令窗口,然后就可以输入FTP命令了
真机先ping一下虚拟机地址,确定可以访问:

修改文件配置主要在以下两个文件里面:

[root@localhost ~]# vim /etc/vsftpd/ftpusers#优先级更高
[root@localhost ~]# vim /etc/vsftpd/user_list
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf#主配置文件
[root@server ~]# systemctl start vsftpd //开启服务
2.3.1 匿名用户登录


2.3.2 文件的上传和下载

在ftp站点下面新建一个文件:


可以在电脑中查看下载的位置:

将文件改名 ,改成abc

进行上传文件到服务器,发现上传失败了

进入主配置文件,找到如下内容,取消注释

改成这样子:

anon_upload_enable=YES
如果设置为YES,匿名用户将被允许在某些条件下上传文件。为此,必须激活write enable选项,
匿名ftp用户必须对所需的上传位置具有写权限。此设置也需要虚拟用户上传;默认情况下,虚拟用户使用匿名(即最大限制)特权。

anon_mkdir_write_enable=YES
如果设置为YES,匿名用户将被允许在某些条件下创建新的目录。为了这个工作,
选项write_ enable必须被激活,匿名ftp用户必须对父目录有写权限。

anon_other_write_enable=YES
如果设置为YES,匿名用户将被允许执行上传和创建目录以外的写操作,例如
删除和重命名。一般不建议这样做,但为了完整起见,我们将其包括在内。

这里来更改一下文件的权限:

这时候退出在登陆一次,发现不好在登录了,权限放到最大登录不了了,因为它自身的安全机制影响,再把权限改回去
进而修改修改ftp站点下pub目录的权限为最大即可

在使用命令 就可以完成上传了

cd pub
put abc
2.3.3 锁定用户在家目录

允许登录root:
修改/etc/vsftpd/ftpusers,将root注释掉
修改/etc/vsftpd/vsftpd.conf,添加一行userlist_deny=NO
重启服务
锁定用户家目录不可随意切换(对用户的活动范围进行限制):
修改/etc/vsftpd/vsftpd.conf
chroot local _user=YES//取消注释,锁定家目录了但是如果家目录有写权限ftp会拒绝连接allow_writeable_chroot=YES//添加这一行
重启服务


转载:https://blog.csdn.net/weixin_55299423/article/details/117306261
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场