?文件共享服務之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.www58058.com/14909

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

相關推薦

  • mysql知識系列–東西比較全

     A。結構化查詢語言(structured query language) B。SQL語句分類  -在MySql數據庫中,SQL語句主要可以劃分以下幾類:  ——DDL(data definition language):數據定義語言,定義對數據庫對象(庫、表、列、索引)的操作  -create,drop,alter,…

    Linux干貨 2017-02-14
  • 深入理解php底層:php生命周期

    1、PHP的運行模式:     PHP兩種運行模式是WEB模式、CLI模式。無論哪種模式,PHP工作原理都是一樣的,作為一種SAPI運行。 1、當我們在終端敲入php這個命令的時候,它使用的是CLI。 它就像一個web服務器一樣來支持php完成這個請求,請求完成后再重新把控制權交給終端。 2、當使用Apache或者別web服務器…

    系統運維 2015-05-28
  • yum使用及編譯安裝

    前端程序包管理器     CentOS:yum,dnf     YUM:Yellowdog update Modifier     URL:ftp:// . . .     文件服務器:  …

    Linux干貨 2016-08-24
  • shell編程作業

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 [root@localhost sh.log]# cat systeminfo.sh  #!/bin/bash #author:DYW #顯示當前主機系統…

    Linux干貨 2016-08-15
  • DNS服務基礎

    DNS服務:是一種工作在應用層的特定應用,也是.c/s架構模式的,DNS的是一種應用層協議,他的端口是UPD協議的53號端口,()根據應用場景不同也會用到tcp協議)這就意味著DNS是默認通過UDP協議進行通信的 我們訪問任何一個網站都是通過主機名的方式進行訪問的;例如www.baidu.com,這是個主機名.稱之為FQDN(完全限定域名) 常見的頂級域中的…

    Linux干貨 2016-11-07
  • 1128基于fastDFS,制作rpm包

    基于fastDFS,制作rpm包: 1、安裝相應的環境: 1、Development tools 2、git(從外網git倉庫下載源碼所需) 3、Server Platform Development ———————————&#…

    2016-12-05
欧美性久久久久