1.ftp为明码传输
2.客户端和服务端采用两条链路来分别进行命令和数据的传输。数据传输的模式分为主动链接和被动链接。
3.客户端在需要数据的时候,会告知服务器端采取主动或者被动的方式来链接。
4.如果是主动链接,客户端在自己主机上启动一个数据接收端口,通过控制端口告诉服务端,接下来等待服务端主动链接这个端口,并传输数据。
5.采用主动链接的方式,如果客户端躲在NAT主机的后面,将导致服务端链接不到此端口。采用被动链接的方式,需要ftp服务端软件支持,客户端告知服务端采用被动模式传输数据,服务端启动一个数据监听端口,将这个端口告知客户端,并等待客户端连接。
 
6.ftp登陆者的身份可以分为三种。
    1.实体用户:ftp服务默认没有对实体用户进行任何限制,所以实体用户可以对整个文件系统采取任何有权限的操作(linux系统用户)。
    2.访客身份:这种身份的用户只能在指定的用户空间内操作。可以限制权限。
    3.匿名身份:要做很多限制,如限制最大访问数。
 
cent OS vsFTPd安装运行:
 
0.安装:yum install vsftpd
1.关闭防火墙 :service iptables stop
2.关闭selinux :setenforce 0
3.建立ftp实体用户 useradd -d /home/ftpdir ftpuser;passwd ftpuser 123456;(要有用户主目录)
4.默认配置启动:service vsftpd start
 
主要配置解析:
 
1.anonymous_enable=NO 是否允许匿名登陆
 
2.local_enable=YES 是否允许本地用户(添加的实体用户登录)
 
3.用户目录chroot设置:
    A.chroot_local_user=YES
    B.chroot_list_enable=YES 
   C.chroot_list_file=/etc/vsftpd/chroot_list
  当A没有设置的时候,处于/etc/vsftpd/chroot_list 文件中的用户将被chroot。当A设置的时候,结果相反。
 
4.用户访问权限设置
    A.userlist_enable=YES
    B.userlist_deny=NO
    C.userlist_file=/etc/vsftpd/user_list
  当三个文件都写的时候,userlist限制访问权限才能起作用。当B为YES的时候,/etc/vsftpd/user_list中的用户不能访问FTP,当B为NO的时候,只有user_list内的用户能访问FTP。
 
5.PAM权限中vsFTPd访问权限设置:
在文件/etc/pam.d/vsftpd 中,auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed表明,在ftpusers文件中配置的用户无法登陆。
 
可以使用 man 5 vsftpd.conf命令来查看vsftpd.conf来查看所有的配置和默认值。

FTP原理和cent OS vsFTPd架设的更多相关文章

  1. cent os 6.5 配置vsftpd

    1. 下载vsftpd: #yum –y install vsftpd 2. 关闭iptables 查看防火墙状态:/etc/init.d/iptables status 关闭:service ipt ...

  2. vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5

    前言: mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行.招行.工商.支付宝等均已全面支持mac os了),windows上的经典常用软件:qq.飞信.旺旺.有道词典.有道云笔 ...

  3. iOS开发UI篇—程序启动原理和UIApplication

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

  4. iOS开发UI篇—程序启动原理和UIApplication1

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

  5. 程序启动原理和UIApplication

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

  6. Cent OS安装使用ffmpeg(完整版)

    Cent OS安装使用ffmpeg centos作为主流后台linux 系统,ffmpeg作为视频流解析的主力,尤其是ffmpeg配合opencv使用,则是视觉操作的基础 版本: ffmpeg3.1 ...

  7. iOS-程序启动原理和UIApplication

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

  8. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  9. (静默安装)Cent OS 6_5(x86_64)下安装Oracle 11g

    Cent OS 6_5(x86_64)下安装Oracle 11g 1 硬件要求   1.1 内存 & swap 物理内存不少于1G 硬盘可以空间不少于5G swap分区空间不少于2G Mini ...

随机推荐

  1. List<T>实体去重分组:

    实体去重分组: //实体类 public class Province { public string id { get; set; } public string name { get; set; ...

  2. JMeter使用记录1 -- JDBC測试

    场景:使用jmeter对web应用和mysql数据库进行压力測试 JMeter是一款很强大的測试工具.能够用来測试web,数据库.从07年用过之后一直对它情有独钟,以下记录下在一个项目中对它的简单使用 ...

  3. 条带深度 队列深度 NCQ IOPS

    http://blog.csdn.net/striping/article/details/17449653 IOPS 即I/O per second,即每秒进行读写(I/O)操作的次数,多用于数据库 ...

  4. C# - 类型

    C#是一门使用OOP技术的编程语言(Object Oriented Programming 面向对象编程)面向对象最重要的特性就是接口.继承.多态 C#中所有的事物都可以看做是一个对象 对象由类型来创 ...

  5. C#泛型的性能优势

    我写东西一向追求短小精悍,就不放代码去验证的,只说结论,并会与Java泛型做对比.有不对之处还望指出. 泛型作为一个在C#2.0中就引入的特性,也是C#的重要特性之一,我经常看到有人讨论泛型带来的便捷 ...

  6. pnd_start_2

    试过才知道一点都不简单,虽然表现出的逻辑是错的,但是至少运行上是正确的.

  7. iOS 网络编程:socket

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  8. Promise的用简要使用方式

    Promise用法 在项目中用到异步请求ajax,想到用promise来解决,之前用过但是已经很久了,还是忘了一些,重新熟悉了一下整理一份简要文档. Promise,就是一个对象,用来传递异步操作的消 ...

  9. Object传入String类型和其他

    是可以传入的. package com.sun.test; public class Test03 { /** * @param args */ public static void main(Str ...

  10. Lucene.net项目研究说明

    最近项目需要全文检索,所以找了几个开源的.NET检索项目,如:Lucene.net,Sphinx,Hubble.net.最后选择使用Lucene.ne来实现全文检索.至于原因嘛,可以参考下面几点: 1 ...