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. Openstack Ice-House 版本号说明--之中的一个 NOVA

    OpenStack Icehouse在4.17正式公布,看了下release note,发现改变不小,说明openstack还是在高速发展中,有不少新的特性增加,也有些小的剔除.以下就我所关注的项目做 ...

  2. 通过源码看android系列之multidex库

    我们在开发项目时,喜欢引入好多的第三方包,大大的方便了我们的开发,但同时,因为android方法总数的限制,不能超过65k,然而呢,随着我们的开发,65k最终还是会超过,所以,google就给出了这个 ...

  3. 使用Java辅助类(CountDownLatch、CyclicBarrier、Semaphore)并发编程

    在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法 一.C ...

  4. .NET 解析HTML代码——NSoup

    NSoup是一个开源框架,是JSoup(Java)的.NET移植版本 1.直接用起来 NSoup.Nodes.Document htmlDoc = NSoup.NSoupClient.Parse(HT ...

  5. Android 开发之自定义Dialog及UI的实现

    我们在开发中,经常会自定义Dialog,因为原生的AlertDialog无法满足我们的需求,这个时候就需要自定义Dialog,那么如何自定义呢,其实不难,就是有点繁琐而已.也就是自定义一个UI的xml ...

  6. 《高性能js》读书笔记

    第一章:加载和执行 .浏览器的JavaScript的引擎是编译器层的优化: .当浏览器执行JavaScript代码时,不能同时做其他任何事情(单一进程),意味着 .主流浏览器都允许并行下载JS. .减 ...

  7. Android 读取txt文件并以utf-8格式转换成字符串

    博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 博客园: 追风917 # 使用EncodingUtils 今天用到了城市选择三级联动的库,用的这个:https://gi ...

  8. 关于AfterLogic WebMail 的.net版无法上传控件的解决办法

    在使用AfterLogic WebMail做客户端的时候发现无论是在FF下还是在IE下发送邮件时附件怎么也无法上传,后来查看代码发现它使用的FLASH上传调用的上传代码是upload.php,问题就出 ...

  9. linux du 显示目录下的各个子目录的大小

    use  command du  display estimate file space usage size of subdirectories [oracle@ahjcyl-db backup]$ ...

  10. Java环境变量批处理文件

    缘由 公司需要配置大量的虚机,每个上面都要求安装 JAVA,配置环境变量,所以要求写一个批处理,一键配置环境变量 方式 网上找到了3中方式, 第一种是使用 set设置环境 变量,但是这样设置的只是临时 ...