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. FragmentStatePagerAdapter.notifyDataSetChanged不刷新页面的解决的方法

    公司做医疗产品的,显示操作用的是android.所以我就用上下两个部分大致是固定的,仅仅有中间会有6个页面的切换,当中会有两个用户的切换.即普通用户和管理员用户,图片能够大致展示一下 其他页面是同样的 ...

  2. C和指针 (pointers on C)——第四章:语句(上)

    第四章--语句(上) 总结总结!!! C没有布尔类型,所以在一些逻辑推断时候必须用整型表达式,零值为假,非零值为真. for比while把控制循环的表达式收集起来放在一个地方,以便寻找. do语句比w ...

  3. Btrace

    http://www.iteye.com/topic/1005918 背景 周五下班回家,在公司班车上觉得无聊,看了下btrace的源码(自己反编译). 一些关于btrace的基本内容,可以看下我早起 ...

  4. JDK中DNS缓存的分析

    在JAVA中使用InetAddress.getByName(String host) 方法来获取给定hostname的IP地址.为了减少DNS解析的请求次数,提高解析效率,InetAddress中提供 ...

  5. android使用属性动画代替补间动画

    本文参考Android属性动画完全解析(上),初识属性动画的基本用法 android3.0之前一共有两种动画,分别是frame动画和tween动画,关于这两种动画如果不了解可以查看我之前的文章andr ...

  6. UIWindow详解

    UIScreen(屏幕),UIWindow(窗口),UIView(视图)是iOS的几个基本界面元素.其中UIWindow(窗口)和UIView(视图)是为iPhone应用程序构造用户界面的可视组件.U ...

  7. sublime text 3.0使用

    # 快捷键    //未完待续 ctrl+p : 文件快速搜索 Ctrl+D : 选词 (按住-继续选择下个相同的字符串) ctrl+L : 选择整行(按住-继续选择下行,即按住ctrl不放按一次L则 ...

  8. 使用passenger在Centos7部署Puma+Nginx+Ruby on Rails

    安装ruby环境 RVM(ruby版本管理工具)安装 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A170311 ...

  9. c++ 中关于int,unsigned int , short的关系与应用

    转载:http://www.cppblog.com/xyjzsh/archive/2010/10/20/130554.aspx?opt=admin   int类型比较特殊,具体的字节数同机器字长和编译 ...

  10. Activity以singleTask模式启动,intent传值的解决办法

    转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/46557827 因为项目中,有一个消息推送的功能,每次推送一个消息,就会开启F ...