每一年,Linux 新聞記者和愛好者都會公開討論,下一年是否會成為 “Linux 案頭” 之年。儘管購買一台已在運行 Linux 的新機器或將現有的 Windows 系統遷移到 Linux 比以往更加容易,但簡單地安裝和啟動 Linux 還不足以將其打造 為日常使用的作業系統。您可能已開始在案頭上使用 Linux,但您使用新 Linux 系統的環境可能不那麼現代化。大部分企 業、中小型企業,以及小型辦公室/家庭辦公環境都擁有必須考慮的 Windows 相關需求。您可能還需要將僅在 Windows 平 台上能得到有效支援的硬體用於 Linux 系統。所幸,這些問題已存在各種各樣的解決方案。
訪問共用的 Windows 檔案系統
訪問共用的 Windows 檔案系統可能是 Linux 系統使用者最常見的業務需求。許多企業仍在使用 Windows 作為基礎架構的 核心,以支援企業郵件和行事曆系統(比如 Microsoft Exchange Server),以及通過匯出的檔案系統(一般稱為 Windows 共用)來支援簡單的檔案和資料共用。
Linux 提供了多種方式來訪問 Windows 共用。具體選擇 哪種機制,依賴於您需要訪問 Windows 共用上的資料的頻率,以及您配置的 Linxu 系統是個人、單使用者系統還是多個使用者 共用的系統。
從命令列訪問 Windows 共用
Samba Project是一個開源項目,支援 Linux、UNIX 和其他類似 UNIX 的作業系統與 Windows 互操作。大部分 Linux 發行版的存放庫中都包含 Samba,而且一般通過安裝和配置來支援 Linux 系統能夠加入一個現有的 Windows 工作群組或域並 與其互操作,常常用作一個可供 Windows 系統使用的通用互連網檔案系統 (Common Internet File System, CIFS) 檔案服 務器。Samba 4.x 安裝還允許 Samba 伺服器充當 Windows 域的一個活動目錄網域服務 (Active Directory Domain Service) 控制器和整合的網域名稱系統 (Domain Name System)。
儘管 Samba 伺服器提供了一種優秀機制來從 Windows 系統提供 Linux 資源,使 Linux 系統可列印到 Windows 印表機,但如果您感興趣的只是偶爾從 WIndows 共用檢索檔案,安裝和配 置 Samba 伺服器可能會大材小用。Samba 用戶端包 (samba-client) 包含多個專為這類偶爾互動所設計的公用程式,包括 smbclient 應用程式,該應用程式提供了一個互動式命令列介面 (CLI) 來遠端存取 Windows 共用。
如果不確定遠 程 Windows 伺服器上提供的共用名稱,則可使用 smbclient 應用程式查詢一個伺服器,在伺服器的名稱或 IP 位址後鍵入 -L 選項來列出該伺服器上的可用資源,如 清單 1 中所示。
清單 1. 使用 smbclient 列出 Windows 伺服器資源
$ smbclient -L win2008serverEnter wvh's password:Domain=[WORDSMITHS]OS=[Windows (R) Small Business Server 2008 6001 Service Pack 1]Server=[Windows (R) Small Business Server 2008 6.0] Sharename Type Comment--------- ---- -------Address Disk "Access to address objects"ADMIN$ Disk Remote AdminBrother HL-2070N Printer Brother HL-2070NC$ Disk Default shareExchangeOAB Disk OAB Distribution shareIPC$ IPC Remote IPCNETLOGON Disk Logon server shareprint$ Disk Printer DriversPublic DiskRedirectedFolders DiskResources$ Disk "Event logging files"SYSVOL Disk Logon server share[...]
如上所示,smbclient 應用程式使用當前的 Linux 使用者作為要在遠程 Windows 伺服器上驗證的使用者,並提 示使用者輸入密碼來訪問遠程伺服器。如果 Windows 伺服器上的登入名稱不同,則可使用 -U 選項指定要使用的登入名稱。
確定希望串連到的共用的名稱後,可使用 smbclient 應用程式串連到一個特定的共用,以檢查或檢索檔案,如 清 單 2 中所示。
清單 2. 使用 smbclient 從 Windows 共用中檢索檔案
$ smbclient //win2008server/Public
Enter wvh's password:
Domain=[WORDSMITHS]
OS=[Windows (R) Small Business Server 2008 6001 Service Pack 1]
Server=[Windows (R) Small Business Server 2008 6.0]
smb: \> cd Software\Linux
smb: \Software\Linux\> ls
. D 0 Sun Jan 27 23:40:42 2013
.. D 0 Sun Jan 27 23:40:42 2013
acl82express-linux-x86.bz2 A 44960643 Sun Jan 27 23:40:24 2013
alien_8.87.tar.gz A 64336 Sun Jan 27 23:39:24 2013
crossover-12.1.0-1.i386.rpm A 47233108 Sun Jan 27 23:39:14 2013
[...]
59997 blocks of size 1048576. 32474 blocks available
smb: \Software\Linux\> get softmaker-office-2012-674.x86_64.rpm
getting file \Software\Linux\softmaker-office-2012-674.x86_64.rpm \
of size 147058656 as softmaker-office-2012-674.x86_64.rpm \
(16345.5 KiloBytes/sec) (average 16345.5 KiloBytes/sec)
smb: \Software\Linux\> quit