在 Linux 上和一個 Windows 網路互動從來就不是件輕鬆的事。想想多少企業正在採用 Linux,需要在這兩個平台上彼此合作。幸運的是,有了一些工具的幫助,你可以輕鬆地將 Windows 網路驅動器映射到一台 Linux 機器上,甚至可以確保在重新啟動 Linux 機器之後共享還在。
要實現這個,你需要用到命令列。過程十分簡單,但你需要編輯 /etc/fstab 文件,所以小心操作。還有,我假設你已經讓 Samba 正常運作了,可以手動從 Windows 網路掛載分享到你的 Linux 機器,還知道這個共享的主機 IP 位址。
準備好了嗎?那就開始吧。
我們要做的第一件事是建立一個資料夾,他將作為共享的掛載點。為了簡單起見,我們將這個資料夾命名為 share,放在 /media 之下。打開你的終端機執行以下命令:
sudo mkdir /media/share
現在我們得安裝允許跨平台檔案共享的系統;這個系統是 cifs-utils。在終端機視窗輸入:
sudo apt-get install cifs-utils
這個指令同時也會安裝 cifs-utils 所有的依賴。
安裝完成之後,開啟檔案 /etc/nsswitch.conf 並找到這一行:
hosts: files mdns4_minimal [NOTFOUND=return] dns
編輯這一行,讓它看起來像這樣:
hosts: files mdns4_minimal [NOTFOUND=return] wins dns
現在你需要安裝 windbind 讓你的 Linux 機器可以在 DHCP 網路中解析 Windows 機器名稱。在終端執行:
sudo apt-get install libnss-windbind windbind
用這個指令重啟網路服務:
sudo service networking restart
現在我們要映射網路磁碟機。這裡我們必須編輯 /etc/fstab 檔案。在你做第一次編輯之前,先用這個指令備份以下這個檔案:
sudo cp /etc/fstab /etc/fstab.old
如果你需要恢復這個文件,執行以下命令:
sudo mv /etc/fstab.old /etc/fstab
在你的主目錄建立一個認證資訊檔 .smbcredentials。在這個文件裡加入你的使用者名稱和密碼,就像這樣(USER 和 PASSWORD 替換為實際的使用者名稱和密碼):
username=USER password=PASSWORD
你需要知道掛載這個磁碟機的使用者的群組 ID(GID)和使用者 ID(UID)。執行指令:
id USER
USER 是你的實際用戶名,你應該會看到類似這樣的資訊:
uid=1000(USER) gid=1000(GROUP)
USER 是實際的用戶名,GROUP 是群組名稱。在(USER)和(GROUP)之前的數字將會被用在 /etc/fstab 檔案之中。
是時候編輯 /etc/fstab 檔案了。在你的編輯器中打開那個文件並添加下面這行到文件末尾(替換以下全大寫字段以及遠端機器的 IP 位址):
//192.168.1.10/SHARE /media/share cifs credentials=/home/USER/.smbcredentials,iocharset=uft8,gid=GID,udi=UID,file_mode=0777,dir_mode=0777 0 0
注意:上面這些內容應該在同一行上。
儲存並關閉那個檔案。執行sudo mount -a
指令,共享就會掛載上。看看一下 /media/share,你應該可以看到那個網路共用上的檔案和資料夾了。
有了 cifs-utils 和 Samba,映射網路共享在一台 Linux 機器上簡單得令人難以置信。現在,你再也不用在每次機器啟動的時候手動重新掛載那些共享了。
以上是如何在 Linux 上永久掛載一個 Windows 共享的詳細內容。更多資訊請關注PHP中文網其他相關文章!