FTP 文件传输协议

FTP  文件传输协议

作用

用来传输文件的

FTP协议采用的是TCP作为传输协议,

21号端口用来传输FTP控制命令的,

20号端口用来传输文件数据的

FTP传输模式:

主动模式:

FTP服务端接收下载控制命令后,会主动从tcp/20号端口发送数据传输给客户端

被动模式: 

FTP服务端接收下载控制命令后,会开启一个空闲端口被动等待客户端数据传输连接

FTP控制命令:

pwd   ls   get   put   quit

配置:

允许匿名用户访问FTP服务器           anonymous_enable=YES      anno_root=
允许服务端本地用户访问FTP服务器     local_enable=YES          local_root=

user_list文件作为黑名单       userlist_enable=YES    userlist_deny=YES   
user_list文件作为白名单       userlist_enable=YES    userlist_deny=NO 

listen_port=2121      #设置监控端口
max_clients=100       #最大连接数
max_per_ip=5          #每个IP的最大连接数

实验 

[root@localhost ~]# systemctl disable  firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# 
//关闭防火墙和核心防护

 安装软件vsftpd

[root@localhost ~]# yum install -y vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
--> 解决依赖关系完成

依赖关系解决

==========================================================================================================================================================
 Package                            架构                               版本                                       源                                 大小
==========================================================================================================================================================
正在安装:
 vsftpd                             x86_64                             3.0.2-29.el7_9                             local                             173 k

事务概要
==========================================================================================================================================================
安装  1 软件包

总下载量:173 k
安装大小:353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : vsftpd-3.0.2-29.el7_9.x86_64                                                                                                          1/1 
  验证中      : vsftpd-3.0.2-29.el7_9.x86_64                                                                                                          1/1 

已安装:
  vsftpd.x86_64 0:3.0.2-29.el7_9                                                                                                                          

完毕!
[root@localhost ~]# 
[root@localhost ~]# cd /mnt/Packages
[root@localhost Packages]# rpm -qpc vsftpd-3.0.2-29.el7_9.x86_64.rpm //查看rpm安装包内包含的配置文件列表
警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@localhost Packages]# 
[root@localhost Packages]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers     vsftpd.conf.bak
user_list    vsftpd_conf_migrate.sh
vsftpd.conf
[root@localhost vsftpd]# 

备份

[root@localhost ~]# 
[root@localhost ~]# cd /etc/vsftpd
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# 

配置文件 

[root@localhost vsftpd]# 
[root@localhost vsftpd]# vim vsftpd.conf

 

 

[root@localhost vsftpd]# systemctl start vsftpd
[root@localhost vsftpd]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost vsftpd]# 
[root@localhost vsftpd]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      730/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1580/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1180/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1181/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1560/master         
tcp        0      0 127.0.0.1:6013          0.0.0.0:*               LISTEN      68349/sshd: root@pt 
tcp6       0      0 :::111                  :::*                    LISTEN      730/rpcbind         
tcp6       0      0 :::21                   :::*                    LISTEN      69322/vsftpd        
tcp6       0      0 :::22                   :::*                    LISTEN      1180/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1181/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1560/master         
tcp6       0      0 ::1:6013                :::*                    LISTEN      68349/sshd: root@pt 
[root@localhost vsftpd]# 

验证

打开一台win10

 

 

 

下载文件 

 指定下载位置 

上传文件 

ftp> put youzi.txt

设置匿名用户

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

[root@localhost vsftpd]# useradd cywl
[root@localhost vsftpd]# echo 123456 |passwd --stdin cywl
更改用户 cywl 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# 
[root@localhost vsftpd]# useradd lty
[root@localhost vsftpd]# echo 123456 |passwd --stdin lty
更改用户 lty 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# 
[root@localhost vsftpd]# systemctl restart vsftpd  //重启
[root@localhost vsftpd]#

匿名用户登录失败 

非匿名用户登录成功

C:\Users\Lin\Desktop>ftp 20.0.0.20
连接到 20.0.0.20。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(20.0.0.20:(none)): cywl
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd  //查询当前位置
257 "/home/cywl"
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> put youzi.txt  //上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 11 字节,用时 0.00秒 11000.00千字节/秒。
ftp>

图形化界面登录

白名单黑名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

[root@localhost vsftpd]# vim user_list
[root@localhost vsftpd]# 

 

白名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

 

 

[root@localhost vsftpd]# vim user_list
[root@localhost vsftpd]# 

 

[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# 

名单内可以登录 

 

名单外不可以登录

  

黑名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# 

 名单内不可以登录

名单内可以登录 

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值