FTP服务配置

一、FTP介绍

是一种文件传输协议,用来上传和下载,实现远程共享文件和统一管理文件。用于互联网上的控制文件的双向传输,是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式。连接时同时处理服务器和客户端的连接命令和数据传输,FTP将命令和数据分开传输,提高传输效率。

二、FTP的连接方式

FTP的连接方式分为两个阶段:管理连接,数据连接。

1.管理连接

客户端使用随机端口(>1024)与服务器的21端口建立连接。

2.数据连接

数据连接分为两种模式:主动模式与被动模式

(1)主动模式

客户端使用随机端口与服务器的21号端口建立控制连接,服务器端(20号端口)主动向客户端(随机端口)建立数据连接,经过三次握手完成。客户端的防火墙会拦截服务器发起的连接,要保证客户端的防火墙是关闭的。

(2)被动模式

客户端使用随机端口向服务器的21号端口建立管理连接,服务器(随机端口)等待客户端(随机端口)向自己发起连接(客户端连服务器),经过三次握手后建立好这个数据连接。为保证能够建立数据连接,服务器要关闭防火墙。

三、FTP相关实验

1.FTP服务

(1)安装

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
[root@localhost ~]# systemctl start vsftpd

打开一个客户端,安装ftp客户端软件,并访问测试

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/ftp-0.17-67.el7.x86_64.rpm
[root@localhost ~]# ftp 192.168.10.101

(2)查看vsftpd的配置文件

[root@localhost ~]# grep -v "#" /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES



pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

备注:

以下语句可以将#号开头的行删掉

[root@localhost ~]# sed -i '/^#/d' /etc/vsftpd/vsftpd.conf

2.匿名访问FTP服务

(1)准备匿名FTP访问目录

[root@localhost ~]# touch /var/ftp/test
[root@localhost ~]# chown ftp /var/ftp/pub
[root@localhost ~]# chmod 755 /var/ftp/pub

(2)开放匿名用户

在ftp配置文件中添加如下红色内容:

anonymous_enable=YES
anon_umask=022
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes

local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
isten_ipv6=YES

pam_service_name=vsftpd
userlist_enabl
tcp_wrappers=YES

备注:
anonymous_enable=YES #是否启用匿名用户
no_anon_password=YES #匿名用户login时不询问口令
anon_upload_enable=(yes/no); #控制匿名用户对文件(非目录)上传权限
anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限
anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的创建权限
anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名

修改ftp配置文件后要重启vsftpd服务

[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# netstat -anpt | grep vsftpd

tcp6       0      0 :::21               :::*              LISTEN      16710/vsftpd

3.测试匿名FTP服务器

(1)测试访问

[root@localhost ~]# ftp 192.168.10.101
Connected to 192.168.10.101 (192.168.10.101).
220 (vsFTPd 3.0.2)
Name (192.168.10.101:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files。

ftp> dir
227 Entering Passive Mode (192,168,10,101,221,180).
150 Here comes the directory listing.

drwxr-xr-x    2 14       0               6 Nov 05  2016 pub

-rw-r--r--    1 0        0               0 May 20 02:14 test

-rw-r--r--    1 0        0               0 May 20 02:14 text
226 Directory send OK.

ftp> lcd /opt
Local directory now /opt

ftp> get test
local: test remote: test
227 Entering Passive Mode (192,168,10,101,141,88).
150 Opening BINARY mode data connection for test (0 bytes).
226 Transfer complete.

ftp> lcd /root
Local directory now /root

ftp> cd pub
250 Directory successfully changed.

ftp> put initial-setup-ks.cfg
local: initial-setup-ks.cfg remote: initial-setup-ks.cfg
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
1638 bytes sent in 0.00327 secs (501.22 Kbytes/sec)

ftp> quit
221 Goodbye.

(2)wget测试

[root@localhost ~]# wget ftp://192.168.10.101/pub/111

--2021-11-16 09:50:15--  ftp://192.168.10.101/pub/111

           => “111”

正在连接 192.168.10.101:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。   ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> CWD (1) /pub ... 完成。
==> SIZE 111 ... 完成。
==> PASV ... 完成。   ==> RETR 111 ... 完成。

    [ <=>                                   ] 0           --.-K/s 用时 0s      

2021-11-16 09:50:15 (0.00 B/s) - “111” 已保存 [0]

4.用户验证的FTP服务

(1)本地用户验证配置

在ftp配置文件中修改如下红色内容:

anonymous_enable=YES
anon_umask=022
#anon_upload_enable=yes
#anon_mkdir_write_enable=yes
#anon_other_write_enable=yes

local_enable=YES
write_enable=YES
local_umask=022

chroot_local_user=yes
allow_writeable_chroot=yes

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

重启vsftpd服务

[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# passwd zhangsan

(2)客户端测试

[root@localhost ~]# touch aaa
[root@localhost ~]# ftp 192.168.10.101

Connected to 192.168.10.101 (192.168.10.101).
220 (vsFTPd 3.0.2)
Name (192.168.10.101:root): zhangsan
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> put aaa
local: aaa remote: aaa
227 Entering Passive Mode (192,168,10,101,114,218).
150 Ok to send data.
226 Transfer complete.

ftp> quit
221 Goodbye.

(3)开启root访问权限

默认root等内置的账户不许访问FTP服务,将相关配置文件中的root账号进行注释

[root@localhost ~]# vi /etc/vsftpd/user_list

在root账号前价格注释符
#root

[root@localhost ~]# vi /etc/vsftpd/ftpusers

在root账号前价格注释符
#root

客户端用root账号登录测试

(4)使用user_list用户列表

[root@localhost ~]# vi /etc/vsftpd/user_list

添加几个账号
zhangsan
lisi
wangwu

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

在ftp配置文件中修改如下红色内容:
anonymous_enable=YES
anon_umask=022
#anon_upload_enable=yes
#anon_mkdir_write_enable=yes
#anon_other_write_enable=yes

local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=yes
allow_writeable_chroot=yes

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=no

tcp_wrappers=YES

重启服务

[root@localhost ~]# systemctl restart vsftpd

在客户端用列表中的账号登录(登录成功)
用列表中不存在的账号登录(无法登录)

5.其他配置

(1)修改监听地址与端口

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

    listen=YES
    listen_address=192.168.10.101     \\添加监听地址
listen_port=2121              \\添加监听端口
listen_ipv6=no

[root@localhost ~]# systemctl restart vsftpd

(2)客户端测试

[root@localhost ~]# ftp 192.168.10.101 2121


(3)使用ftp的被动模式

在ftp配置文件中加入如下内容:
pasv_enable=yes
pasv_min_port=24500
pasv_max_port=24600

[root@localhost ~]# systemctl restart vsftpd

扩展:

1:修改匿名用户的目录

注意:默认的ftp匿名用户的目录在/var/ftp下

[root@localhost ~]# mkdir -p /opt/ftp/myftp
[root@localhost ~]# chown ftp /opt/ftp/myftp

注释:在新版本(2.3.5的版本后)的ftp服务中,ftp的根目录不能有写的权限,对于匿名用户来说,需要在ftp根目录下创建一个文件夹,给这个文件夹写的权限即可

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

添加以下字段:

anon_root=/opt/ftp

2:修改系统用户的ftp根目录

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

添加以下字段:

#anon_root=/opt/ftp

local_root=/opt/ftp

注释:在新版本(2.3.5的版本后)的ftp服务中,ftp的根目录不能有写的权限,对于系统用户来说,可以让系统用户对ftp根目录有写权限

[root@localhost ~]# chmod a+w /opt/ftp
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

添加以下字段:

local_root=/opt/ftp
chroot_local_user=yes
​​​​​​​allow_writeable_chroot=yes

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-LGG08】 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-LGG08】 FTP服务器配置实验报告全文共6页,当前为第1页。FTP服务器配置实验报告 FTP服务器配置实验报告全文共6页,当前为第1页。 计算机科学与技术系 实 验 报 告 课程名称: 计算机网络 实验名称: FTP服务器配置 姓名: 学号: 日期: 地点: 网络实验室 成绩: 教师: 实验目的 1.创建一个ftp服务器,提供文件下载和上传功能。 2.提供匿名登录功能,用于下载公共文件,但不能匿名上传 3.同时也提供用户登录,用户只能限制在自己的目录下,这是可以上载也可以下载 实验内容 搭建FTP服务器 实验原理 使用FTP软件搭建FTP服务器 实验设备 FTP服务器配置实验报告全文共6页,当前为第2页。已经安装好windows操作系统的计算机一台。 FTP服务器配置实验报告全文共6页,当前为第2页。 实验过程及分析 1、打开FTP软件,进行软件的安装。 点击确认 点击下一步 选择安装的路径 点击下一步 下一步 点击下一步 点击安装 点击下一步 完成 然后给软件安装破解补丁,点击Patch就行了 2、配置用户登录 单击桌面图标,打开软件 FTP服务器配置实验报告全文共6页,当前为第3页。点击是,输入一个名称 FTP服务器配置实验报告全文共6页,当前为第3页。 下一步,除第一个勾选外其它都不勾选 下一步,在IPv4地址栏中选择自己电脑上的IP地址 点击下一步 单击完成 选择是 选择是,创建登录ID 点击下一步,设置登录密码 点击下一步,设置要被访问的路径。 FTP服务器配置实验报告全文共6页,当前为第4页。设置访问权限 FTP服务器配置实验报告全文共6页,当前为第4页。 到此为止就已经创建了一个用户。 输入已设置的用户名和密码。 3、配置匿名用户登录 在主页中点击新建域 点击新建域,在名称中输入anonymous 这一步是要注意的了,设置成无加密 这里密码就不用设置了 全部设置完成之后,就可以进行匿名登录了 FTP服务器配置就完成了,就可以通过登录FTP服务器进行文件的上传与下载 实验小结 FTP服务器配置实验报告全文共6页,当前为第5页。在本次实验中, 通过FTP服务器配置过后,让我学会了怎么在一台电脑上用FTP软件安装FTP服务器。并且怎么去使FTP服务器配置实验报告全文共6页,当前为第6页。用FTP服务器FTP服务器配置实验报告全文共6页,当前为第5页。 FTP服务器配置实验报告全文共6页,当前为第6页。 FTP服务器配置实验报告
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值