Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows教程綜合 >> 關於windows >> 如何實現Windows與Linux文件系統互訪的解決辦法

如何實現Windows與Linux文件系統互訪的解決辦法

日期:2017/2/9 15:25:37      編輯:關於windows

  我們知道,在Windows系統之間,可以通過共享目錄的方式,讓遠程系統直接訪問。其實這裡是Windows提供一種遠程文件系統機制,NAS協議的一種——CIFS協議。如果是Linux系統呢,同樣有另外一種NAS協議——NFS協議來實現遠程訪問。那麼這兩種NAS協議能否互通呢?答案是否定的。雖然二者不能互通,但是,在Linux系統上面已經有了CIFS協議的服務端和客戶端的實現,這樣,無論是Linux給Windows共享還是Windows給Linux共享都可以借助這些已有的實現來做到了。

  相反的,Windows上面有沒有NFS的客戶端或者服務端呢?也有,但是不常用,這裡就不詳細介紹了。

  這裡主要圍繞著Linux上面使用CIFS協議來闡述如何實現兩個系統之間的跨文件系統,跨操作系統共享。按照上面的描述,有兩種方式來實現共享。Linux分別作為CIFS的服務端和客戶端。下面分別就這兩種方式來說明操作步驟和簡單的原理介紹:

  一、Samba軟件實現共享Linux文件系統給Windows用戶

  Samba軟件被譽為10大最有價值的開源軟件之第五位。其獲取方式非常容易,配置使用也非常簡單。下面以fedora系統為例,先看一下本地是否已經安裝好samba,如果/etc/init.d/smb 文件存在,則說明已經安裝好了samba軟件,否則使用如下命令安裝:

  

復制內容到剪貼板
  1. yum install samba   
  2.   

  安裝完成後,修改配置文件,打開:/etc/samba/smb.conf,在文件末尾加上如下配置:

  

復制內容到剪貼板
  1. [root]   
  2.   
  3.   comment = root   
  4.   
  5.   path = /   
  6.   
  7.   creat mask = 64   
  8.   
  9.   writeable = yes   
  10.   
  11.   browseable = yes   
  12.   
  13.   valid users = root   
  14.   

  這個配置的意思是,創建一個名為root的共享,將根文件目錄“/”共享給用戶。允許登錄的用戶名是root。

  然後給samba系統添加root用戶,使用如下命令:

  

復制內容到剪貼板
  1. smbpasswd -a root   
  2.   

  按照提示設置root用戶的密碼。

  重新啟動samba服務。

 

復制內容到剪貼板
  1.  service smb restart   
  2.   

  檢查smb進程是否已經運行:

復制內容到剪貼板
  1. root      1787  0.0  0.4  33068  4784 ?        Ss   21:51   0:00 smbd   
  2.   
  3. root      1788  0.0  0.2  33068  2580 ?        S    21:51   0:00  \_ smbd   
  4.   

  在需要訪問該Linux系統的Windows客戶機上面,打開Windows的資源管理器,在地址欄輸入:\\192.168.1.110

  會發現,提示有一個共享root,雙擊訪問時,提示輸入用戶名和密碼,輸入此前配置的root用戶和密碼即可訪問。這裡就是Samba軟件實現了CIFS的服務端,Windows資源管理作為客戶端訪問遠程的共享文件系統。為了更為方便的使用該文件系統,還可以將該共享映射成一個本地的盤符,讓Windows上面的各種工具像使用本地磁盤一樣使用該目錄。所有在Windows上面對該共享做的操作都會實時同步到Linux系統上面。

  二、Linux訪問Windows的共享

  上面的借助於Samba的方式是大家常用的。還有一種,Windows系統天然就是一個CIFS的服務端和客戶端,既然Windows系統可以給Windows系統共享目錄,那麼Linux系統能否訪問這些共享呢?答案是肯定的,由於有強大的VFS支撐,Linux支持掛載和訪問各種文件系統。mount工具支持掛在CIFS甚至NTFS的文件系統。如果是Windows本機上面的Linux虛擬機,那麼可以直接通過虛擬機管理軟件,如Vmware直接共享本地的磁盤分區給Linux系統,Linux系統根據Windows的磁盤分區的文件系統類型掛載即可。這裡不詳述該方案。

  進入本段的正題,首先我們需要共享一個Windows的目錄:

  下面以Windows XP為例,Windows 7未做驗證,應該類似。在共享之前,首先需要確保Windows系統的server服務處於啟動狀態,如下圖:

  

  選擇需要共享的目錄,右鍵,屬性,選擇“共享”頁,如下圖:

  配置共享

  選擇在網絡上共享這個文件夾,並指定共享名。根據需要選擇是否允許遠程用戶修改該文件夾。這樣這個文件夾就被共享給遠程訪問了。

  

 

  在Linux系統下掛載該共享:

  

復制內容到剪貼板
  1. [root@f2 ~]# mount -t cifs -o username="Test" //192.168.1.100/sourcecode /root/sourcecode   
  2. Password for Test@//192.168.1.100/sourcecode:   
  3.   

  按照要求輸入指定用戶的密碼即可。

  此時,Windows的共享sourcecode目錄就已經掛載到Linux系統上面了,Linux系統可以像訪問本地目錄一樣訪問該目錄了。

  這種方法應該是更好的訪問方式,因為一般而言,我們操作的文件和工作空間都是在Windows上面的,只有少數時候,需要在Linux上面進行編譯,調試。但是用起來稍顯麻煩。注意,此前曾遇到過Windows系統與虛擬出來的Linux系統之間無法傳輸數據的問題,原因是Windows系統的防火牆未開啟。

  通過以上兩種方法解決如何實現Windows與Linux文件系統互訪的問題,希望能幫到大家,謝謝閱讀。

Copyright © Windows教程網 All Rights Reserved