我們知道,在Windows系統(tǒng)之間,可以通過共享目錄的方式,讓遠程系統(tǒng)直接訪問。其實這里是Windows提供一種遠程文件系統(tǒng)機制,NAS協(xié)議的一種——CIFS協(xié)議。如果是Linux系統(tǒng)呢,同樣有另外一種NAS協(xié)議——NFS協(xié)議來實現(xiàn)遠程訪問。那么這兩種NAS協(xié)議能否互通呢?答案是否定的。雖然二者不能互通,但是,在Linux系統(tǒng)上面已經(jīng)有了CIFS協(xié)議的服務(wù)端和客戶端的實現(xiàn),這樣,無論是Linux給Windows共享還是Windows給Linux共享都可以借助這些已有的實現(xiàn)來做到了。
相反的,Windows上面有沒有NFS的客戶端或者服務(wù)端呢?也有,但是不常用,這里就不詳細介紹了。
這里主要圍繞著Linux上面使用CIFS協(xié)議來闡述如何實現(xiàn)兩個系統(tǒng)之間的跨文件系統(tǒng),跨操作系統(tǒng)共享。按照上面的描述,有兩種方式來實現(xiàn)共享。Linux分別作為CIFS的服務(wù)端和客戶端。下面分別就這兩種方式來說明操作步驟和簡單的原理介紹:
一、Samba軟件實現(xiàn)共享Linux文件系統(tǒng)給Windows用戶
Samba軟件被譽為10大最有價值的開源軟件之第五位。其獲取方式非常容易,配置使用也非常簡單。下面以fedora系統(tǒng)為例,先看一下本地是否已經(jīng)安裝好samba,如果/etc/init.d/smb 文件存在,則說明已經(jīng)安裝好了samba軟件,否則使用如下命令安裝:
安裝完成后,修改配置文件,打開:/etc/samba/smb.conf,在文件末尾加上如下配置:
復制內(nèi)容到剪貼板
- [root]
-
- comment = root
-
- path = /
-
- creat mask = 64
-
- writeable = yes
-
- browseable = yes
-
- valid users = root
-
這個配置的意思是,創(chuàng)建一個名為root的共享,將根文件目錄“/”共享給用戶。允許登錄的用戶名是root。
然后給samba系統(tǒng)添加root用戶,使用如下命令:
按照提示設(shè)置root用戶的密碼。
重新啟動samba服務(wù)。
檢查smb進程是否已經(jīng)運行:
復制內(nèi)容到剪貼板
- root 1787 0.0 0.4 33068 4784 ? Ss 21:51 0:00 smbd
-
- root 1788 0.0 0.2 33068 2580 ? S 21:51 0:00 \_ smbd
-
在需要訪問該Linux系統(tǒng)的Windows客戶機上面,打開Windows的資源管理器,在地址欄輸入:\\192.168.1.110
會發(fā)現(xiàn),提示有一個共享root,雙擊訪問時,提示輸入用戶名和密碼,輸入此前配置的root用戶和密碼即可訪問。這里就是Samba軟件實現(xiàn)了CIFS的服務(wù)端,Windows資源管理作為客戶端訪問遠程的共享文件系統(tǒng)。為了更為方便的使用該文件系統(tǒng),還可以將該共享映射成一個本地的盤符,讓Windows上面的各種工具像使用本地磁盤一樣使用該目錄。所有在Windows上面對該共享做的操作都會實時同步到Linux系統(tǒng)上面。
二、Linux訪問Windows的共享
上面的借助于Samba的方式是大家常用的。還有一種,Windows系統(tǒng)天然就是一個CIFS的服務(wù)端和客戶端,既然Windows系統(tǒng)可以給Windows系統(tǒng)共享目錄,那么Linux系統(tǒng)能否訪問這些共享呢?答案是肯定的,由于有強大的VFS支撐,Linux支持掛載和訪問各種文件系統(tǒng)。mount工具支持掛在CIFS甚至NTFS的文件系統(tǒng)。如果是Windows本機上面的Linux虛擬機,那么可以直接通過虛擬機管理軟件,如Vmware直接共享本地的磁盤分區(qū)給Linux系統(tǒng),Linux系統(tǒng)根據(jù)Windows的磁盤分區(qū)的文件系統(tǒng)類型掛載即可。這里不詳述該方案。
進入本段的正題,首先我們需要共享一個Windows的目錄:
下面以Windows XP為例,Windows 7未做驗證,應(yīng)該類似。在共享之前,首先需要確保Windows系統(tǒng)的server服務(wù)處于啟動狀態(tài),如下圖:
選擇需要共享的目錄,右鍵,屬性,選擇“共享”頁,如下圖:
配置共享
選擇在網(wǎng)絡(luò)上共享這個文件夾,并指定共享名。根據(jù)需要選擇是否允許遠程用戶修改該文件夾。這樣這個文件夾就被共享給遠程訪問了。
在Linux系統(tǒng)下掛載該共享:
復制內(nèi)容到剪貼板
- [root@f2 ~]# mount -t cifs -o username="Test"
- Password for Test@
-
按照要求輸入指定用戶的密碼即可。
此時,Windows的共享sourcecode目錄就已經(jīng)掛載到Linux系統(tǒng)上面了,Linux系統(tǒng)可以像訪問本地目錄一樣訪問該目錄了。
這種方法應(yīng)該是更好的訪問方式,因為一般而言,我們操作的文件和工作空間都是在Windows上面的,只有少數(shù)時候,需要在Linux上面進行編譯,調(diào)試。但是用起來稍顯麻煩。注意,此前曾遇到過Windows系統(tǒng)與虛擬出來的Linux系統(tǒng)之間無法傳輸數(shù)據(jù)的問題,原因是Windows系統(tǒng)的防火墻未開啟。
通過以上兩種方法解決如何實現(xiàn)Windows與Linux文件系統(tǒng)互訪的問題,希望能幫到大家,謝謝閱讀。