天天看點

檔案共享服務之FTP

一、什麼是檔案共享服務

簡單來說就是檔案或存儲塊裝置可以共享給大家使用

(一)、實作共享服務有三種:

1、ftp:屬于應用層服務,可以跨平台使用(linux<->unix<-->windows)

2、nfs:屬于核心模式,不可以跨平台(linux<-->linux)

3、samba:可以跨平台(linux<-->unix<-->windows)

(二)、實作儲存設備與伺服器連接配接的方式有三種:

1、das:連接配接的磁盤

2、nas:通過nfs/cifs協定實作網絡共享檔案(檔案存儲方式)電子郵件、網頁伺服器、多媒體流服務、檔案分享等就适用于nas存儲架構。

3、san:通過網線或光纖實作iscsi和fcsan将實體儲存設備連接配接起來使用(塊存儲方式較底層,需要格式化并挂載當本地磁盤使用)資料庫有關的應用适用于san存儲架構。

(三)、附:

1、nfs(network file system,網絡檔案系統)協定實作linux的檔案封裝共享傳輸。

2、cifs(common internet file system,公共網際網路檔案系統)協定實作windows與linux的共享識别,例如samba就是基于cifs(smb)協定實作。

二、ftp

1、ftp是file transfer protocol 檔案傳輸協定的縮寫,基于網絡來傳輸檔案的應用層通信協定。

2、ftp能夠通過網絡來傳輸檔案,因為工作在應用層是以不會受到平台的限制。

3、ftp的工作模式

檔案共享服務之FTP
檔案共享服務之FTP

(1)、ftp的資料傳輸分為指令資料與檔案資料,指令傳輸就是用戶端要執行的指令,服務端收到後傳回給用戶端執行結果,如ls指令的執行結果一樣。檔案傳輸就是用戶端要傳輸的資料,服務端與用戶端資料連接配接來傳輸。

(2)、ftp的服務端與用戶端建立連接配接大體三個步驟,建立連接配接,傳輸資料,斷開連接配接。

(3)、ftp是基于tcp協定來傳輸資料的,使用21号端口來建立認證通道,20号端口來建立資料通道。

(4)、ftp是明文傳輸的。

(5)、ftp的使用者可分為實體使用者(real user),匿名使用者(anonymous user),通路使用者(guest user)。

主動模式與被動模式

由于現在的網絡架構中,都會有防火牆來阻止端口與高位端口被主動連接配接,特别20端口是被禁止主動連接配接的,因為20端口是ftp的資料端口,是以為了解決用戶端或者服務端的防火牆問題,ftp就有了主動和被動兩種模式,通過牆内的一端來主動連接配接外端的一方,這樣子就不會被防火牆阻擋。

主動模式:一般用于服務端存在防火牆的情況,用戶端無法主動連接配接至服務端的20資料端口,需要由服務端主動連接配接用戶端的高位資料端口。

被動模式:一般用于用戶端存在防火牆的情況,服務端在收到連接配接請求後因為用戶端防火牆而無法達到用戶端高位端口,需要用戶端主動連接配接至服務端的資料傳輸端口。

我們可以看到以上兩種工作方式,都是由牆内的一方來發出連接配接并允許另一端來連接配接指定端口,牆内的一方就類似是一間房子的主人,而另外一方是客人,客人去通路需要得到主人的同意,并來給你“開門”之後,你才能進到這個屋子。

檔案共享服務之FTP
檔案共享服務之FTP

三、響應碼

    1xx:資訊類

      2xx:成功類資訊

      3xx:提示需要進一步補全内容類

      4xx:用戶端錯誤

      5xx:伺服器端錯誤

四、使用者認證

1、虛拟使用者:僅用于通路某特定服務中的資源

   nsswitch:network server switch,名稱解析架構

     配置檔案:/etc/nsswitch.conf

     子產品:/lib64/libnss*,/usr/lib64/libnss*

   pam:pluggable authentication module,使用者認證架構

     配置檔案:/etc/pam.conf,/etc/pam.d/*

    子產品:/lib64/security/

   以上兩種架構是linux的自帶架構,通過庫調用的方式自由選擇基于系統賬戶實作,非系統賬戶實作,還是資料    庫賬戶形式實作不用全部編譯進去浪費資源。

2、系統使用者:通過nsswitch服務解決使用者名稱解析,通過pam對系統使用者進行認證(/etc/passwd,/etc/shadow)

3、匿名使用者:映射為一個系統使用者ftp,為ftp使用者設定權限

4、虛拟使用者:映射為系統某一使用者,使用者賬号密碼存儲于非/etc/passwd,/etc/shadow

注:匿名使用者或虛拟使用者雖然和系統使用者沒有關系,但是登陸後擷取系統上的檔案權限還是需要映射為系統使用者,以系統使用者的權限通路系統檔案(例如:ftp系統使用者,httpd系統使用者)

五、vsftpd

vsftpd是基于ftp協定來對網絡資料交換的一種實作,是一個開源的解決方案。

vsftpd能攻通過配置,搭建ftp伺服器,完成基于網絡的資料傳輸功能。

六、vsftpd+mysql+pam實作過程

繼續閱讀