15 Linux之ftp nfs samba 認識和區別

來源:互聯網
上載者:User

標籤:linux   nfs   檔案分享權限設定   samba   smb   ftp   

FTP(File Transfer Protocol,檔案傳輸通訊協定),應用程式層協議,可跨平台。如其名,只能實現檔案傳輸功能,不能實現一些其他的功能,例如檔案系統掛載等功能。

NFS(Network File System,網路檔案系統),工作在核心模式下的,故難以實現跨平台。由於基於檔案系統實現,在linux下可實現掛載使用等功能。

win7已有NFS功能

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6D/15/wKioL1VcM9aTPT23AAHkHs9JEck519.jpg" title="WIN.png" alt="wKioL1VcM9aTPT23AAHkHs9JEck519.jpg" />

win10暫時還沒

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6D/1A/wKiom1VcMmnQiVZsAAHyAVXxLdo608.jpg" title="win10.png" alt="wKiom1VcMmnQiVZsAAHyAVXxLdo608.jpg" />

SMB(Service Message Block,服務訊息塊協議),能夠實現Windows和Linux主機之間的檔案分享權限設定服務,可實現跨平台,在Linux上實現了CIFS(Common Internet File System)協議。

  1. FTP協議

      1. 工作模式

    主動模式:

  1. 用戶端請求服務端的21連接埠先建立命令串連

  2. 服務端響應用戶端,並以5000+隨機連接埠與用戶端建立資料連線

  3. 開始資料傳送

  1. 屬於C/S(Client/Server)架構,基於通訊端通訊。

  2. FTP協議用到2種不同的tcp串連:一是命令串連,用於服務端與用戶端命令的傳達,監聽在tcp/21連接埠;另一個是資料連線,用來傳輸資料,監聽的連接埠是隨機的。


註:考慮到用戶端防火牆很可能將服務端建立串連產生隨機的連接埠拒之門外,故被動模式產生了        被動模式:
  1. 用戶端請求服務端的21連接埠先建立命令串連

  2. 用戶端使用5000+隨機連接埠用命令串連請求資料連線

  3. 服務端收到請求後隨機產生連接埠,反饋給用戶端。p1 p2

  4. 用戶端使用5000+連接埠與服務端隨機連接埠(p1*256+p2)之間傳輸資料

  1. 註:被動模式也會存在防火牆問題,但服務端防火牆有串連追蹤功能以解決此問題。故被動模式用的較多

  2. 使用者認證

  1. 匿名使用者:登入名稱是anonymous,且不須密碼

  2. 系統使用者:FTP服務端本機使用者和密碼,預設訪問的是使用者家目錄

  3. 虛擬使用者:僅用於訪問服務端特定資源。可指定使用者檔案或資料庫來使用。最終會將虛擬使用者映射為系統使用者,所以預設訪問的為系統使用者家目錄

    常見FTP工具
    1. 服務端

      1. Linux端:vsftpd,pureftp....

      2. windows端:SerU,FileZilla-Server...

    2. 用戶端

      1. Linux端:ftp,lftp,lftpget,wget,curl...

      2. windows端:FileZilla

NFS協議
  1. RPC(Remote Procedure Call Protocol)遠端程序呼叫協議

    1. 一部分功能由本地程式完成 另一部分功能由遠程主機上的函數完成。用戶端掛載了nfs伺服器的檔案系統時,進行一些操作。但該協議是在核心層級上實現的協議,RPC正是處理該問題的協議,它會將用戶端的操作的函數調用發送到伺服器端,由伺服器端執行這些函數調用。

  2. idmapd

    1. 想想這種情形,nfs用戶端在掛載檔案系統以後,在本地以某使用者的身份建立了一個檔案,在伺服器端這個檔案的屬主和屬組是哪個使用者呢?早期是通過NIS(Network Information Services網路資訊服務)來解決這個問題的,但是在傳輸帳號和密碼時,使用的是明文傳輸,現在使用LDAP+clbbler來實現的。但是,NFS使用的是idmapd這個服務,有rpc提供,將所有的使用者後映射為nfsnobody,但是在訪問的時候,還是以本地UID對應的本機使用者來使用的。

  3. mounted

    1. NFS是通過什麼來控制那些用戶端可以訪問,那些不可以訪問的呢?NFS只支援通過IP來控制用戶端,而這個功能是由守護進程mounted來實現的,它監聽的連接埠是半隨機的。所謂的半隨機指的是,這個隨機連接埠是由rpc服務來決定的,而rpc是通過隨機的方式。作用等等同於小區大門保安的作用。

  4. NFS請求過程

    1. 請求過程:當用戶端試這去掛載使用nfs共用的檔案系統是,用戶端首先回去與postmapper(tcp/111)連接埠去註冊使用,此時postmapper會隨機分配一個連接埠給mounted,然後mounted這個守護進程會來驗證用戶端的合法性,驗證通過後,會把請求交給nfs服務,用戶端此時可以掛載使用了,使用者在建立檔案時,會使用到idmapd的守護進程來映射屬主。其實idmapd也是有rpc服務提供的,只不過在這裡,nfs服務使用到使用者映射的功能時,會自動的去調用此守護進程。

SAMBA協議
  1. SMB:Service Message Block

  2. CIFS:Common Internet File System 通用網路檔案系統,windows系統之間共用的協議,samba實現了該協議,故可實現windows與linux之間的檔案分享權限設定服務

  3. 監聽的連接埠:

    1. tcp/137 udp/137 tcp/139 udp/139

    2. 137:是實現NetBIOS協議,實現解析windows之間主機名稱的解析,實現在windwos的近端分享可看到的Linux主機名稱

    3. 139:是實現cifs協議

  4. 互動式資料訪問;

    1. smbclient -L HOST -U USERNAME

  5. 擷取共用資訊後:

    1. smbclient //SERVER/shared_name -U USERNAME

  6. 基於掛載的方式訪問;

    1. mount -t cifs //SERVER/shared_name  /mount_point -o uername=USERNAME,pasword=PASSWORD


本文出自 “營運狗” 部落格,請務必保留此出處http://yunweigou.blog.51cto.com/6299641/1653362

15 Linux之ftp nfs samba 認識和區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.