​文件共享服务之FTP

文件共享服务之FTP

一、什么是文件共享服务

简单理解就是文件或存储块设备可以共享给大家使用。
 1、实现共享服务有三种!

  • (1)ftp:属于应用层服务,可以跨平台使用(linux<--->uinx<--->windows)

  • (2)nfs:属于内核模式,不可跨平台(linux<--->linux)

  • (3)samba:可跨平台(linux<--->uinx<--->windows)

2、实现存储设备与服务器连接方式有三种!

  • (1)DAS:简单说就是连接的磁盘

  • (2)NAS:通过nfs/CIFS协议实现网络共享文件(文件存储方式)电子邮件、网页服务器、多媒体流服务、档案分享等就适用于NAS存储架构

  • (3)SAN:通过网线或光纤实现iscsi和FCSAN将物理存储设备连接起来使用(块存储方式较底层,需要格式化并挂载当本地磁盘使用)数据库有关的应用适用于SAN存储架构

3、附:

  • (1) nfs(Network File System,网络文件系统)协议实现linux的文件封装共享传输。

  • (2)CIFS(Common Internet File System,公共互联网文件系统)协议实现windows与linux的共享识别,例如samba就是基于CIFS(SMB)协议实现。

二、FTP

ftp:File Transfer Protocol
 应用层协议:tcp,21端口
 C/S架构
 命令链接21(长链接)
 数据链接20(传完断开在传在链接)
 数据传输格式

  • 文本传输(不应该人为干预,原文件是什么格式就用什么格式传输)

  • 二进制传输(不应该人为干预,原文件是什么格式就用什么格式传输)

主动ftp模式

  • 主动:由服务器创建连接
     命令:
     Client:50000 –> Server: 21
     数据:
     Server: 20/tcp –> Client: 50000+1

被动ftp模式

  • 被动:由客户端创建连接
     命令:
     Client:50000 –> Server: 21
     数据:
     Client:50000+1 –> Server: 随机端口

三、响应码

1xx: 信息
 2xx: 成功类的状态码
 3xx: 提示需进一步提供补充类信息的状态码
 4xx: 客户端错误
 5xx: 服务端错误

四、FTP存储和mysql存储有什么不同?

FTP属于非结构化数据存储,无法定义类型关系等,包括图片文件,二进制文件等
 mysql属于结构化关系数据库存储,表列对应关系,可定义type及字符长度。

五、用户认证

1、虚拟用户:

  • 用于访问某个服务的用户(mysql用户,http网站用户)和操作系统上的用户没有关系,这样做是为了安全

  • FTP默认是系统账户,为了系统安全,可以改成虚拟用户登录

  • 虚拟用户可以基于文件(非系统用户的文件),也可以基于链接mysql数据实现FTP的认证登录

  • nsswitch: network server switch, 名称解析框架
      配置文件:/etc/nsswitch.conf
     模块:/lib64/libnss*, /usr/lib64/libnss*

  • pam: pluggable authentication module, 用户认证框架
     模块:/lib64/security/
     配置文件:/etc/pam.conf, /etc/pam.d/*

  • 以上两种框架linux自带框架,通过库调用的方式自由选择基于系统账户实现,非系统账户实现,还是数据库账户形式实现不用全部编译进去浪费资源。

2、系统用户
 3、匿名用户
 总结:匿名用户或虚拟用户虽然和系统用户没有关系,但是登陆后获取系统上的文件权限还是需要映射为系统用户,以系统用户的权限访问系统文件(例如:ftp系统用户,httpd系统用户)

六、FTP安装与配置

2016-04-13_005914.png  

  • 配置文件
             用户认证配置文件:/etc/pam.d/vsftpd
             服务脚本:/etc/rc.d/init.d/vsftpd
             
             置文件:/etc/vsftpd/vsftpd.conf
             匿名用户配置:
             anonymous_enable=YES
             anon_upload_enable=YES
             anon_mkdir_write_enable=YES
             anon_ohter_write_enable=YES
             系统用户的配置:
             local_enable=YES
             write_enable=YES
             local_umask=022
             禁锢所有的ftp本地用户于其家目录中:
             chroot_local_user=YES
             禁锢文件中指定的ftp本地用户于其家目录中:
             chroot_list_enable=YES
             chroot_list_file=/etc/vsftpd/chroot_list(在此文件中添加系统用户)
             虚拟用户映射系统用户
             guest_enable=YES
             guest_username=vuser
             通过pam用户认证
             pam_service_name=vsftpd
             vsftpd在/etc/pam.d/vsftpd
     

             匿名用户(映射为ftp用户)共享资源位置:/var/ftp
             系统用户通过ftp访问的资源的位置:用户自己的家目录
             虚拟用户通过ftp访问的资源的位置:给虚拟用户指定的映射成为的系统用户的家目录

原创文章,作者:Net18-糖糖,如若转载,请注明出处:http://www.178linux.com/14909

(0)
Net18-糖糖Net18-糖糖
上一篇 2016-04-18
下一篇 2016-04-18

相关推荐

  • 网络N23期第一周(计算机的组成及功能及Linux的发行版等)

    一. 描述计算机的组成及功能 计算机由五大硬件组成:” 运算器 + 控制器 + 储存器 + 输入设备 + 输出设备” 。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算…

    Linux干货 2016-09-22
  • Ubuntu 葵花宝典入门篇——要练此功,可能得自宫?

        此文章给初入ubuntu的小伙伴们写一篇装机篇和使用心得。第二期会给小伙伴介绍软件安装篇。如题目所说,乌班图确实是葵花宝典,练好了天下无敌。只是如果要安装UBUNTU系统,只是在虚拟机上跑跑是不够的,你必须在实际的桌面环境和服务器环境上才能体会到它的运行方式,而桌面环境和服务器环境几乎差不多。所以安装桌面版可以更好的理解…

    Linux干货 2017-03-26
  • rpm包管理

    一、概述 RPM 是RPM Package Manager(RPM软件包管理器)的缩写。由redhat公司的Redhat package manager改名而来,成了RedHat的工业标准 二、rpm的命名格式: rpm包的命名格式:name-version-relase.arch.rpm version: major.minor.release,同源代码 …

    Linux干货 2015-10-07
  • GRUB

    GRUB(Boot Loader):  grub: GRand Unified Bootloader grub 0.x: grub legacy grub 1.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统; s…

    Linux干货 2016-04-12
  • 计算机组成及Linux基础

    第1题:描述计算机的组成及功能 1.1计算机的组成       计算机是有 运算器,控制器,存储器,输入设备和输出设备组成计算机 1.2计算机各部件功能 运算器 对数据进行算术运算,逻辑运算和对数据进行加工处理 存储器 存储程序,数据和各种信号,命令等信息,并在需要时提供这些信息 控制器 是整个计算机的中枢神…

    Linux干货 2017-07-02
  • 网络接口bonding的设置、网卡别名的设置

    网络接口bonding的设置、网卡别名的设置 网络接口bonding的设置 1.bonding的原理 Bonding就是将多块网卡绑定同一IP 地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding ,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC 地址。 2.Bonding 的工作模式 …

    Linux干货 2016-09-05