FTP连接及传输模式
控制连接:TCP 21 ,用于发送FTP命令信息
数据连接:TCP 20 ,用于上传、下载数据
数据连接的建立类型:主动模式、被动模式

主动模式:服务器主动发起数据连接
·首先由客户端向服务端的21端口建立FTP控制连接
·当需要传输数据时,客户端以PORT命令告知服务器"我打开了某端口,你过来连接我" 于是服务器从20端口向客户端的该端口发送请求并建立数据连接

被动模式:服务器被动等待数据连接
·如果客户端所在网络防火墙禁止主动模式连接,通常会使用被动模式
·当需要传输数据时,客户端以PORT命令告诉服务器"我要连接你,你要被动等我",于是服务器告知客户端"我打开了某端口,你过来连接我"于是客户端向服务器的该端口(非20端口)发送请求并建立数据连接

PASV:被动

FTP连接及传输模式
·客户端与服务器建立好数据连接以后,就可以根据从控制连接中发送的FTP命令上传或下载文件了。
·在传输文件时,根据是否进行字符转换,分为文本模式和二进制模式

·文本模式:又称为ASCII(American Standard Code for Information
Interchange,美国信息交换标准码)模式,这种模式在传输文件时使用ASCII标准字符序列,一般指用于纯文本文件的传输
·二进制模式:又称为Binary模式,这种模式不会转换文件中的字符序列,更适合传输程序、图片等非纯文本字符的文件
·使用二进制模式比纯文本模 式更有效率,大多数FTP客户端工具可以根据文件类型自动选择文件的传输模式,而无需用户手工指定

FTP用户类型:
1、匿名用户:用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器的验证。一般用于公共文件的下载。
2、本地用户:直接使用本地的系统用户账号进行验证
3、虚拟账户:通过一份独立的用户数据库文件进行登陆验证,将FTP账户的关联性降至最低,为系统提供更好的安全性

FTP服务器软件的种类
·在Windows系统中,常见的FTP服务器软件包括FileZilla、Serv-U等
·在Linux系统中,vsftp是目前在Linux/UNIX领域应用十分广泛的一款FTP服务软件
·Vsftpd服务的名称来源于"Very Secure FTP Daemon",该软件针对安全特性方面做了大量的设计。除了安全性以外,vsftp在速度和稳定性方面表现也相当突出

FTP客户端工具的种类
·最简单的FTP客户端工具莫过于FTP命令程序了
·除此以外,还有大量的图形化FTP客户端工具。Windows8中较常用的包括CuteFTP、
FlashFXP、LeapFTP、Filezilla等
·还有一些下载工具软件,如FlashGet、Wget等,包括大多数网页浏览器程序,都支持 通过FTP协议下载文件,但因不具备FTP上传等管理功能,通常不称为FTP客户端工具

写入权限:阀门理论
·文件系统权限与服务配置权限需要同时满足
·文件系统权限高于服务配置权限

$(将里面的执行结果输出)
&> /dev/null 屏幕不显示

搭建匿名访问的FTP服务器-----------------------------------------------------
·安装vsftp软件包
·准备匿名FTP访问的目录
·开放匿名用户哦欸只并启动vsftp服务
·测试匿名FTP服务器

yum -y install vsftpd
chkconfig --level 2345 vsftpd on
netstat -anyup | grep "vsftpd"
cd /var/ftp/(pub) 匿名登陆的默认目录(匿名用户或其他人不能有写权限)
把拥有者改成ftp 有写权限
vi /etc/vsftpd/vsftpd.conf 配置文件

anonynous_enable=YES //匿名访问
write_enable=YES //是否可写入
anon_upload_enable=YES //匿名上传
anon_mkdir_write_enable=YES //匿名创建目录、
anon_other_write_enable=YES //除了创建目录其他的写权限(重命名)

登陆:
ftp IP
get ** 下载文件

搭建用户验证的FTP服务
·基本的本地用户验证-------------------------------------------------------
local_enable=YES
write_enable=YES
local_umask=077 //修改本地用户默认权限掩码为077
chroot_local_user=YES //开启本地用户的家目录锁定

userlist_enable=YES 启动userlist文件
userlist_deny=YES (YES里面用户无法登陆,NO里面用户可以登录)

·ftpusers与user_list用户列表的使用
(1)ftpusers文件:FTP服务器中的黑名单,优先级高于user_list文件
(2)user_list文件:此用户列表默认情况下也是黑名单,即在此用户列表中的用户不可访问FTP服务器,但可以通过vsftpd.conf主配置文件的修改将此名单改为白名单,且仅此名单中的用户可以访问。

·使用user_list用户列表文件(ftpusers只要里面出现的账号就不能登陆)

vsftpd服务的其他常用配置
基于虚拟用户的FTP服务
·修改vsftpd服务的监听地址、端口
·允许使用FTP服务器的被动模式
·限制FTP连接的并发数、传输速率

·修改vsftpd服务的监听地址、端口:
netstat -antup | grep "vsftpd"
0.0.0.0 所有的IP地址

vi /etc/vsftpd/vsftpd.conf
listen_address=10.10.10.10
listen_port=222
pasv_enable=YES
pasv_min_port=24500
pasv_max_port=24600

max_client=200 (最大连接客户端)
max_per_ip=2 (一个IP最多能打开多少个客户端)
anon_max_rate=50000
local_max_rate=200000

·修改vsftpd服务的监听地址、端口

建立虚拟用户的账号数据库:-------------------------------------------------
vsftpd服务使用Berkeley
DB格式的数据库文件来存放虚拟用户账户,建立这种数据库文件需要用到db_load工具
·步骤:
1.创建文本格式的用户名、密码列表
2.创建Berkeley DB格式的数据库文件
3.添加虚拟用户的映射账号,创建FTP根目录

/etc/vsftpd /
vi vusers.list
用户名
密码
用户名
密码
这些用户在Linux中不存在

yum -y install db4-utils-*

db_load -T -t hash -f vusers.list vusers.db
注:db_load命令-T:允许非Berkeley的程序使用该数据库-t:指定算法(hash:哈希,散列)-f:指定源文件注意:生成的数据库文件必须为“.db”格式

一般吧数据文件和权限文件改为600只有超级用户可读可写

添加虚拟用户的映射账号
useradd virtual -s /sbin/nologin -d /var/ftproot
chmod 755 /var/ftproot/

为vsftpd服务添加虚拟用户支持
在vsftpd服务器中,用户认证是通过PAM(Pluggable Authentication
Module,可插拔认证模块)机制来实现的,该机制包括灵活的选择认证方式
·步骤
1.为虚拟用户建立PAM认证文件
2.修改vsftpd配置,添加虚拟用户支持
3.为不同的虚拟用户建立独立的配置文件
4.测试

#cd /etc/pam.d
#cp -a su vsftpd.vu
#vim vsftpd.vu

auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers

#vi /etc/vsftpd/vsftpd.conf
·local_enable=YES
·guest_enable=YES
·guest_username=virtual
·anon_umask=022
·pam_service_name=vsftpd.vu

·实现每个虚拟用户不同根目录、不同权限的管控(1)创建用户控制目录,并创建虚拟所对应的同名配置文件
·mkdir /etc/vsftpd/vusers_dir/
·cd /etc/vsftpd/vusers_dir/
·vi ***

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=1
local_root=/var/***

#chown virtual /var/***

·vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
·/etc/init.d/vsftpd restart

其他配置:
listen=YES 是否开启监听段口
listen_address=10.10.10.10 监听IP地址
listen_port=2121 设置监听端口
pasv_enable=YES 是否开启被动模式
pasv_min_port=24500 被动模式端口下限
pasv_max_port=24600 被动模式端口上限
max_client=2000 最大*客户连接数,一般不限制
max_per_ip=2 每个IP限制最多打开几个客户端工具,一般不限制
anon_max_rate=50000 匿名最大传输速率
local_max_rate=20000 本地用户最大传输速率,一般不限制

VSFTP服务配置的更多相关文章

  1. HP Unix vsftp服务配置

    HP Unix vsftp 服务配置: /opt/ssh/utils/ssh_chroot_setup.sh 运行脚本,会提示输入要建立的vsftp账号和要限制的家目录, 比如要限制的家目录为/Jia ...

  2. vsftp 服务配置

    在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd (very serure ftp) 搭建vsftpd 服务 yum 安装需要用两个包:vsftpd 和 db4-util ...

  3. vsftp 服务配置篇

    在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd (very serure ftp) 搭建vsftpd 服务 yum 安装需要用两个包:vsftpd 和 db4-util ...

  4. fedora虚拟机中的vsftp服务配置

    最近在学习unix,但在使用ftp链接虚拟机时总是总是各种报错,查了很多资料,试了很多方法,都有一定的问题,最后也算是久病成医,这里给其他跟我一样小白提供一个比较好的解决方案希望能有所帮助. Fedo ...

  5. Fedora 14配置vsftp服务步骤

    Fedora 14配置vsftp服务步骤:1:检查Fedora14是否安装了vsftp服务    用rpm -qa|grep vsftp命令检查是否安装了vsftp服务,如果安装了,会显示安装好的版本 ...

  6. linux应用之vsftp服务的安装及配置(centos)

    1.centos中vsftp服务的安装 方法1:rpm方式 #rpm –ivh vsftpd-2.0.5-10.el5.i386.rpm  安装rpm程序包(网上下载的rpm包) 方法2:yum方式 ...

  7. Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

    配置虚拟用户访问 首先至少要关闭userlist 改完配置文件是要重启服务来使它生效 其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的 local_root选项不影响 ...

  8. Linux系统学习 十六、VSFTP服务—本地用户访问—基本用户基础配置

    缺点,ftp密码是和系统密码是一致的,并不安全 先设置两个测试用户 test1      123123 test2      123123 基本用户基础配置 1.本地用户基本配置 local_enab ...

  9. Centos安装vsftp服务

    1.安装vsftp yum install vsftpd 2.开启vsftp服务,设置开机自启 service vsftpd restart chkconfig vsftpd on 停止vsftpd: ...

随机推荐

  1. csu oj 1342: Double

    Description 有一个由M个整数组成的序列,每次从中随机取一个数(序列中每个数被选到的概率是相等的)累加,一共取N次,最后结果能被3整除的概率是多少? Input 输入包含多组数据.     ...

  2. noip2014无线网络发射器选址

    题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的 129 条东西向街道和 129 条南北向街道所形成的网格状,并且 ...

  3. nginx配置location总结及rewrite规则写法(1)

    1. location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为 ...

  4. FastDFS安装教程

    1.下载 FastDFS下载:https://codeload.github.com/happyfish100/fastdfs/zip/master 库文件下载:https://codeload.gi ...

  5. iptables报错:Couldn't load target `accept':/lib64/iptables/libipt_accept.so: cannot open shared object file: No such file or directory

    语句:iptables -A INPUT -s 134.192.204.235 -p TCP --dport 11211 -j accept 报错:Couldn't load target `acce ...

  6. AAC ADTS格式分析

    转自: https://blog.csdn.net/jay100500/article/details/52955232 https://blog.csdn.net/andyhuabing/artic ...

  7. laravel的validation 中文 文件

    使用方法: 直接替换resources/lang/en/validation.php中的内容 <?php return [ 'unique' => ':attribute 已存在', 'a ...

  8. POJ 1936 All in All 匹配, 水题 难度:0

    题目 http://poj.org/problem?id=1936 题意 多组数据,每组数据有两个字符串A,B,求A是否是B的子串.(注意是子串,也就是不必在B中连续) 思路 设置计数器cnt为当前已 ...

  9. python之路-python字符编码

    编码的发展 py2的字符编码 py3的字符编码 编码的发展: 编码表:编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码.编码表记录着我们常见的明文所对应的计算机二进制 ...

  10. bzoj4278

    题解: 把第一个串放好,加一个oo 然后把第二个串倒序放进来 然后就是http://www.cnblogs.com/xuanyiming/p/8510231.html这一题了 代码: #include ...