標籤: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)協議。
FTP協議
-
工作模式
主動模式:
用戶端請求服務端的21連接埠先建立命令串連
服務端響應用戶端,並以5000+隨機連接埠與用戶端建立資料連線
開始資料傳送
屬於C/S(Client/Server)架構,基於通訊端通訊。
FTP協議用到2種不同的tcp串連:一是命令串連,用於服務端與用戶端命令的傳達,監聽在tcp/21連接埠;另一個是資料連線,用來傳輸資料,監聽的連接埠是隨機的。
註:考慮到用戶端防火牆很可能將服務端建立串連產生隨機的連接埠拒之門外,故被動模式產生了 被動模式:
用戶端請求服務端的21連接埠先建立命令串連
用戶端使用5000+隨機連接埠用命令串連請求資料連線
服務端收到請求後隨機產生連接埠,反饋給用戶端。p1 p2
用戶端使用5000+連接埠與服務端隨機連接埠(p1*256+p2)之間傳輸資料
註:被動模式也會存在防火牆問題,但服務端防火牆有串連追蹤功能以解決此問題。故被動模式用的較多
使用者認證
匿名使用者:登入名稱是anonymous,且不須密碼
系統使用者:FTP服務端本機使用者和密碼,預設訪問的是使用者家目錄
虛擬使用者:僅用於訪問服務端特定資源。可指定使用者檔案或資料庫來使用。最終會將虛擬使用者映射為系統使用者,所以預設訪問的為系統使用者家目錄
常見FTP工具
-
服務端
Linux端:vsftpd,pureftp....
windows端:SerU,FileZilla-Server...
用戶端
Linux端:ftp,lftp,lftpget,wget,curl...
windows端:FileZilla
NFS協議
RPC(Remote Procedure Call Protocol)遠端程序呼叫協議
一部分功能由本地程式完成 另一部分功能由遠程主機上的函數完成。用戶端掛載了nfs伺服器的檔案系統時,進行一些操作。但該協議是在核心層級上實現的協議,RPC正是處理該問題的協議,它會將用戶端的操作的函數調用發送到伺服器端,由伺服器端執行這些函數調用。
idmapd
想想這種情形,nfs用戶端在掛載檔案系統以後,在本地以某使用者的身份建立了一個檔案,在伺服器端這個檔案的屬主和屬組是哪個使用者呢?早期是通過NIS(Network Information Services網路資訊服務)來解決這個問題的,但是在傳輸帳號和密碼時,使用的是明文傳輸,現在使用LDAP+clbbler來實現的。但是,NFS使用的是idmapd這個服務,有rpc提供,將所有的使用者後映射為nfsnobody,但是在訪問的時候,還是以本地UID對應的本機使用者來使用的。
mounted
NFS是通過什麼來控制那些用戶端可以訪問,那些不可以訪問的呢?NFS只支援通過IP來控制用戶端,而這個功能是由守護進程mounted來實現的,它監聽的連接埠是半隨機的。所謂的半隨機指的是,這個隨機連接埠是由rpc服務來決定的,而rpc是通過隨機的方式。作用等等同於小區大門保安的作用。
NFS請求過程
請求過程:當用戶端試這去掛載使用nfs共用的檔案系統是,用戶端首先回去與postmapper(tcp/111)連接埠去註冊使用,此時postmapper會隨機分配一個連接埠給mounted,然後mounted這個守護進程會來驗證用戶端的合法性,驗證通過後,會把請求交給nfs服務,用戶端此時可以掛載使用了,使用者在建立檔案時,會使用到idmapd的守護進程來映射屬主。其實idmapd也是有rpc服務提供的,只不過在這裡,nfs服務使用到使用者映射的功能時,會自動的去調用此守護進程。
SAMBA協議
SMB:Service Message Block
CIFS:Common Internet File System 通用網路檔案系統,windows系統之間共用的協議,samba實現了該協議,故可實現windows與linux之間的檔案分享權限設定服務
監聽的連接埠:
tcp/137 udp/137 tcp/139 udp/139
137:是實現NetBIOS協議,實現解析windows之間主機名稱的解析,實現在windwos的近端分享可看到的Linux主機名稱
139:是實現cifs協議
互動式資料訪問;
smbclient -L HOST -U USERNAME
擷取共用資訊後:
smbclient //SERVER/shared_name -U USERNAME
基於掛載的方式訪問;
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 認識和區別