vsftpd的工作原理和配置

FTP基本原理

--------- Client                   Server--------------

①客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024的端口等候服务器连接(比如1031端口)
②若FTP服务器在端口21侦听到该请求,则会在客户端1031端口和服务器的21端口之间建立一个FTP会话连接
③当需要传输数据时,FTP客户端动态地打开一个大于1024的端口(比如1032端口)连接到服务器的20端口,并在这两个端口之间进行数据的传输。当数据传输完毕后,这两个端口会自动关闭
④当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放

FTP工作模式
主动传输模式(Active FTP):默认
        在主动传输模式下,FTP客户端随机开启一个大于1024的端口N(1025)向服务器的21号端口发起连接,然后开放N+1号端口(1026)进行监听,并向服务器发送PORT 1026命令。服务器接收到命令后,会用其本地的FTP数据端口(通常20)来连接客户端指定的端口1026,进行数据传输。

被动传输模式(Passive FTP):
        在被动传输模式下,FTP客户端随机开启一个大于1024的端口N(1025)向服务器的21号端口发起连接,同时会开启N+1号端口(1026),然后向服务器发送PASV 命令。通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024端口P(1521)进行监听,然后用PORT P命令通知客户端,自己的数据端口是1521.客户端收到命令后会通过1026号端口连接服务器的端口1521,然后在两个端口之间进行数据传输。

FTP安装

FTP  server    hostname  fanxh1    192.168.1.10

FTP  clinet    hostname  fanxh2    192.168.1.20

yum -y install vsftpd           采用YUM安装ftp

service iptables stop           关闭iptables

sentenforce                     查看Selinux 是否开启,如果值为1说明是开启的

sentenforce   0                  关闭Selinux且不需要重启服务器

service vsftpd restart  (/etc/init.d/vsftpd restart)        重新启动ftp服务

chkconfig vsftpd on             ftp服务随系统开机而自动启动服务(2345级别开启)

chkconfig --list vsftpd         查看vsftpd在那些级别启动

用netstat -anptul | grep vsftpd  查看ftp服务端口是否开启

服务器的配置(192.168.1.10)

vim /etc/vsftpd/vsftpd.conf     修改ftp的主配置文件

12 anonymous_enable=YES        修改匿名用户是否可以登录(YES)代表允许匿名用户可以登录(NO)代表不允许匿名用户登录
 15 local_enable=YES            修改本地用户是否可以登录(YES)代表允许本地用户登录(NO)代表不允许本地用户登录

96 #chroot_local_user=YES      修改是否禁锢本地用户在自己的家目录,默认是注释以#开头的,如果想开启把前面的#去掉        
 120 listen_port=21             修改连接ftp服务器的端口,默认连接ftp服务器的端口是21

122 max_clients=20             修改最多并发连接的数量(20)
 123 max_per_ip=2               修改每个IP地址最多的并发连接数(2)
 124 anon_max_rate=50000        修改匿名用户下载速度(50KB/S)
 125 local_max_rate=100000      修改本地用户下载速度(100KB/S)

客户端测试

1.在(服务器端192.168.1.10)添加一个本地用户,并且密码为123456

[[email protected] ~]# useradd fanxiaohui                                     创建一个用户fanxiaohui
[[email protected] ~]# echo 123456 | passwd --stdin fanxiaohui  给用户fanxiaohui添加一个密码

[[email protected] ~]#cd /var/ftp/pub                                            默认匿名用户家目录

[[email protected] ~]#ls -l /etc/* > /var/ftp/pub/anon.txt             在匿名用户的家目录下创建一个文件为anon.txt

2.在(服务器端192.168.1.10)创建一个测试文件

[[email protected] ~]# ls -l /etc/* > ~fanxiaohui/fanxiaohui.txt    在本地用户的家 目录下创建一个文件为fanxiaohui.txt

3.在客户端测试(192.168.1.20)

匿名用户登录ftp登录方式和上传、下载

[[email protected] ~]# ftp 192.168.1.10

Name (192.168.1.10:root): ftp                  匿名用户登录的用户名
Password:                                                  匿名用户登录的密码(默认没有)

230 Login successful.                                说明登录成功

ftp> ls                                                       查看ftp目录下的内容

drwxr-xr-x    2 0        0            4096 Jan 06 18:16 pub

ftp> cd pub                                               切换到pub目录下,可以查看到服务器端/var/ftp/pub的内容
ftp> ls                                                       查看pub目录下内容
-rw-r--r--    1 0        0           27370 Jan 06 18:03 anon.txt

ftp> get anon.txt                                      下载ftp/pub/anon.txt的命令

ftp> !ls                                                       查看是否下载成功,有就代表下载成功
anaconda-ks.cfg  anon.txt  install.log    install.log.syslog

ftp> put install.log                                    上传/root/install.log
227 Entering Passive Mode (192,168,1,10,117,22).
550 Permission denied.                              显示上传失败

本地用户的登录方式和上传下载

[[email protected] ~]# ftp 192.168.1.10

Name (192.168.1.10:root): fanxiaohui      本地用户登录的用户名

Password:                                                本地用户登录的密码123456

Logionsuccessful.                                     说明登录成功

ftp> ls                                                        查看本地用户家目录的内容
-rw-r--r--    1 0        0           56655 Aug 04 12:51 fanxiaohui.txt
ftp> get fanxiaohui.txt                 下载ftp服务器的文件为fanxiaohui.txt
ftp> !ls                                                       查看是否下载成功,有就代表下载成功
anaconda-ks.cfg  anon.txt  fanxiaohui.txt install.log    install.log.syslog

ftp> put install.log                                    上传/root/install.log

ftp> ls                                                        查看ftp的内容,如果有就代表上传成功
-rw-r--r--    1 501      501         12526 Aug 04 12:59 install.log
-rw-r--r--    1 0        0           56655 Aug 04 12:51 fanxiaohui.txt

FTP的总结

1.登录FTP后命令的总结

get    下载
    put    上传
    mget    下载多个,支持通配符
    mput    上传多个,支持通配符
    !cmd    执行外面命令
    lcd     切换外面路径

2.默认FTP登录后的总结

匿名用户与本地用户都可以登录
    匿名用户登录到/var/ftp,只能下载不能上传
    本地用户登录到本地用户的家目录,可以上传和下载

时间: 2024-08-25 15:26:11

vsftpd的工作原理和配置的相关文章

Servlet生命周期、工作原理、配置

Servlet生命周期 分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet工作原理 每一个自定义的Servlet都必须实现Servlet的接口,Servlet接口中定义了五个方法,其中比较重要的三个方法涉及到Servlet的生命周期,分别是上文提到的init(),service(),destroy()方法.GenericServlet是一个通用的,不特定于任何协议的Servlet,它实

三层交换工作原理及配置

三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发.三层交换技术就是二层交换技术+三层转发技术. 三层交换机工作原理 三层交换机通过硬件来交换和路由选择数据包.使用传统的MLS(多层交换)体系结构或基于CEF(Cisco快速转发)的MLS体系结构.传统的MLS是一种老式结构,而所有新型的交换机都支持CEF多层交换. 1.基于CEF的MLS CEF是一种基于扩扑的转发模型,可预先将所有路由选

交换机工作原理与配置

以太网交换机分类 2960系:入门级交换机 3560系列:企业级交换机. 4500系列:模块化交换机,可以支持扩展. 6500系列:高端级交换机,主要用于大型企业,电信网通运营商. 交换机的工作原理 1)学习 交换机在转发的过程中会查看自己的MAC地址表,地址表中有目标MAC地址对应的接口号.如果条目中没有源MAC地址,那就对应起来,形成MAC地址表. 2)广播 如果交换机没有在MAC地址表中找到目标数据帧所对应的条目,就不知道从那个接口转发出去,这时候就要广播,好比说:00-00-00-00-

Oracle NET工作原理、配置及连接问题排查

一.Oracle NET配置文件 Oracle NET是一个软件层,支持不同网络协议之间的转换.不同的物理机器可以借助这个软件层实现相互间的通信,具体而言就是实现对oracle的远程访问. oracle net配置文件包括listener.ora,tnsnames.ora,sqlnet.ora和ldap.ora:配置文件都是放在$ORACLE_HOME\network\admin目录下. sqlnet.ora文件在客户端上,确定解析方式,通过这个文件来决定怎么样找一个连接中出现的连接字符串 tn

H3C交换设备的IRF(智能弹性架构)工作原理及配置

博文目录一.IRF概述二.IRF具有哪些优点三.IRF的基本概念1.角色2.IRF端口3.IRF物理端口4.IRF合并5.IRF分裂6.成员优先级四.IRF的运行模式与配置方式五.IRF的工作原理1.物理连接2.拓扑收集3.角色选举4.IRF的管理与维护六.多IRF冲突检测(MAD功能)1.多IRF冲突检测的定义和功能2.多IRF冲突检测的方式和原理七.配置IRF八.IRF和MAD涉及的查询类命令如下 一.IRF概述 IRF(Intelligesilient Framework,智能弹性架构)是

ftp服务工作原理及配置详解终极篇

VSFTPD使用指南final篇 基本配置 1. 匿名服务器的连接(独立的服务器)在/etc/vsftpd.conf(或在/etc/vsftpd/vsftpd.conf)配置文件中添加如下几项:Anonymous_enable=yes            (允许匿名登陆)Dirmessage_enable=yes             (切换目录时,显示目录下.message的内容)Local_umask=022                      (FTP上本地的文件权限,默认是07

lvs持久性工作原理和配置

作者: ISADBA|FH.CN 日期: 06/01/2012 转载请注明: 作者:ISADBA.COM|FH.CN BLOG:http://isadba.com 原文:http://isadba.com/?p=67 LVS持久连接技术 lvs的持久性连接有两方面: 把同一个client的请求信息记录到lvs的hash表里,保存时间使用persistence_timeout控制,单位为秒.persistence_granularity 参数是配合persistence_timeout的,在某些情

Varnish工作原理及配置详解

1.基本概念 在当前主流的Web架构中,Cache担任着越来越重要的作用.常见的基于浏览器的C/S架构,Web Cache更是节约服务器资源的关键.而最近几年由FreeBSD创始人之一Kamp开发的varnish更是一个不可多得的Web Cache Server.严格意义上说,Varnish是一个高性能的反向代理软件,只不过与其出色的缓存功能相比,企业更愿意使用其搭建缓存服务器.同时,由于其工作在Web Server的前端,有一部分企业已经在生产环境中使用其作为旧版本的squid的替代方案,以在

UCENTER同步登录工作原理和配置要点

ucenter的同步登录原理: 1)Ucenter是和uc_client同步的.每个PHP应用,加入了UCENTER后,都会在主目录下有个UC_CLIENT目录.这个目录里,都有一个client.PHP. 2)以我的应用例子来说,我的ecshop系统和discuz系统都加入了ucenter.则ecshop登录时,user.php中的login会检查配置文件,并根据配置最终调用uc_client\client.php中的uc_user_synlogin. 3)uc_user_synlogin会调用