第 29 章 架設 Samba 伺服器 著作權所有 © 旗標出版股份有限公司
本章提要 啟動與設定 Samba 伺服器 分享只能唯讀的目錄 分享可讀寫的目錄 分享只允許特定使用者存取的目錄 分享印表機 在 Windows 使用分享的目錄及印表機
啟動與設定 Samba 伺服器 為方便 Linux 及 Windows 使用者互相取用彼此的資源, Linux 提供了一套資源共享的軟體 — Samba 伺服器 若安裝 Linux 時選擇安裝全部套件, 則預設即已裝好 Samba 伺服器 若沒有安裝, 請安裝書附第一片光碟的 samba-3.0.0-15.i386.rpm 、samba-client-3.0.0-15.i386.rpm 及 samba-common-3.0.0-15.i386.rpm 套件
啟動與設定 Samba 伺服器 安裝好後, 執行 ntsysv 指令, 可設定開機自動執行:
啟動與設定 Samba 伺服器 執行下列指令, 則可以立即啟動 Samba 伺服器:
Samba 伺服器的設定檔 Samba 伺服器的設定檔為 /etc/samba/smb.conf 該設定檔主要分為兩大部分 分享資源的個別設定項目, 只對某一特定分享的資源有效 Samba 伺服器的整體環境設定, 這裡所做的設定, 會套用於每個分享資源
Samba 伺服器的設定檔
Samba 伺服器的設定檔 設定工作群組 設定安全等級
設定工作群組 啟動 Samba 伺服器後, 預設會將 Linux 主機加入 MYGROUP 群組 若希望能加入原有的 Windows 工作群組或另外新建的群組, 請以文書編輯程式修改 /etc/samba/smb.conf 檔 以下要加入 Windows 系統所在的 Lingroup 工作群組
設定工作群組
設定工作群組 若 Samba 伺服器及操作的 Windows 電腦主機名稱為中文, 則可能會出現無法進入工作群組的錯誤情況 此時必須在瀏覽器的網址列輸入 "\\ Samba 伺服器的 IP 位址" 才行 因此建議主機的名稱最好不要以中文命名
設定安全等級 使用者存取 Samba 伺服器共分為 4 個安全等級,安全性由低至高分別為: share (共用級別) user (使用者級別) server (密碼伺服器) domain (網域)
設定安全等級 share: 若採用此安全等級, 則 Windows 或其他主機上的使用者不需輸入帳號及密碼, 即可登入 Samba 伺服器 user: Samba 伺服器預設使用的安全等級 使用者在存取 Samba 伺服器分享的資源前, 必須先輸入帳號及密碼, 經 Samba 伺服器驗證通過後, 才可使用分享的資源
設定安全等級 server: domain: 存取 Samba 伺服器分享的資源前, 必須輸入帳號及密碼, 經驗證通過後, 才可使用分享的資源 而驗證工作會由另一台指定的 Samba 伺服器或 Windows NT/2000/XP 執行 domain: 若 Samba 伺服器要加入的網路環境為網域而非工作群組, 則可使用此等級 利用網域中的 Windows 伺服器進行使用者身份密碼的驗證工作
設定安全等級 server 等級需要額外的電腦進行認證 domain 等級也必須在 Windows 網域中執行 所以實際運用上, 以 share 及 user 等級較為常用, 設定也較方便
設定安全等級 讓所有的使用者都能登入 Samba 伺服器 設定特定的使用者才能登入 Samba 伺服器
讓所有的使用者 都能登入 Samba 伺服器 若希望分享資料或印表機資源, 讓所有網路上的使用者可以不需輸入帳號及密碼即可存取, 則可使用 share 安全等級 請如下修改 /etc/samba/smb.conf 檔: 接著請執行 /etc/rc.d/init.d/smb restart 指令重新啟動 samba 伺服器
讓所有的使用者 都能登入 Samba 伺服器 如此, 任何使用者便均可進入 Samba 伺服器了:
設定特定的使用者 才能登入 Samba 伺服器 若不希望讓使用者都能任意登入 Samba 伺服器, 存取資源, 則可以將安全等級設定為 user 透過設定 Samba 伺服器的帳號及密碼, 限制使用者登入 請開啟 /etc/samba/smb.conf 檔, 如下修改設定:
設定特定的使用者 才能登入 Samba 伺服器 接著請執行下列指令, 將 passwd 密碼檔轉換成 Samba 的密碼檔:
設定特定的使用者 才能登入 Samba 伺服器 然後利用 smbpasswd 指令, 一一設定 /etc/samba/smbpasswd 檔中每個帳號所要使用的密碼 (以下以 wyw 使用者為例):
設定特定的使用者 才能登入 Samba 伺服器 如次一來, 當使用者欲進入 Samba 伺服器時, 就會出現詢問 Samba 伺服器上帳號及密碼的交談窗
設定特定的使用者 才能登入 Samba 伺服器
分享只能唯讀的目錄 Samba 伺服器的整體環境設定完成後, 使用者已經可以順利登入 Samba 伺服器 接下來便要分享資源 首先分享的是只能唯讀的目錄
分享只能唯讀的目錄 請在 /etc/samba/smb.conf 設定檔的最末端加入下列內容: 如果要讓所有人都可以登入伺服器, 記得要把 "security=" 的值設成 "share"
分享只能唯讀的目錄 重新啟動 Samba 伺服器之後, 即可看到所分享的唯讀目錄:
分享可讀寫的目錄 若要設定權限為可讀寫的目錄, 請於 /etc/samba/smb.conf 設定檔最末端加入下列設定:
分享可讀寫的目錄 設定好後, 執行下列指令建立分享目錄, 並設定存取權限, 再重新啟動 Samba 伺服器: 如此使用者就可以在該目錄中新增、刪除及修改檔案了
分享只允許特定使用者 存取的目錄 之前建立的分享目錄, 只要使用者能登入 Samba 伺服器, 都可以依照開放的權限, 瀏覽或修改其中的資料 通常公司、學校或個人使用的資料, 並不適合讓所有的使用者都可以瀏覽及修改 此時, 就必須限制分享目錄的權限, 僅讓某些使用者可以登入
分享只允許特定使用者 存取的目錄 要限制使用者開啟分享目錄, 有 2 種做法 限制使用者的 IP 位址 限制使用者的帳號
限制使用者的 IP 位址 限制使用者的 IP 位址是要限制使用者存取分享目錄, 最簡單的方式
限制使用者的 IP 位址 請編輯 /etc/samba/smb.conf, 加入下列設定: 或是可以指定不允許存取的 IP 位址:
限制使用者的 IP 位址 例如設定 "hosts deny = 192.168.0.35", 則由此 IP 位址的主機存取 Samba 伺服器時, 就會被拒絕:
限制使用者的帳號 首先必須先在 Linux 主機建立該帳號, 然後將其轉換為 Samba 伺服器使用者, 並設定密碼 然後如下設定 /etc/samba/smb.conf 檔:
限制使用者的帳號 設定好後, 請重新啟動 Samba 伺服器, 讓設定值生效
分享印表機 分享印表機與分享目錄的方式相同 若已經在 Linux 主機上安裝好印表機, 請接著在 /etc/samba/smb.conf 檔最末端加入以下內容:
在 Windows 使用分享的目錄 及印表機 要從 Windows 主機與 Samba 伺服器連線時, 預設的帳號是登入 Windows 的名稱 所以要連入 Samba 前, 請用 Samba 上已有的帳號來登入 Windows 連接 Samba 伺服器與使用分享的目錄 掛載為網路磁碟機 使用 Samba 所分享出來的印表機
連接 Samba 伺服器 與使用分享的目錄 以 wyw (在 Samba 中已建好此帳號) 的身分登入 Windows XP 電腦, 開啟網路上的芳鄰視窗, 找到在 Samba 所設定的群組:
連接 Samba 伺服器 與使用分享的目錄
連接 Samba 伺服器 與使用分享的目錄
連接 Samba 伺服器 與使用分享的目錄
連接 Samba 伺服器 與使用分享的目錄
掛載為網路磁碟機 也可以將 Samba 的分享目錄掛載為網路磁碟機:
掛載為網路磁碟機
掛載為網路磁碟機
使用 Samba 所分享出來的 印表機 接著說明如何從 Windows XP 安裝 Samba 所分享出來的印表機 請執行『開始/印表機和傳真機』命令:
使用 Samba 所分享出來的 印表機
使用 Samba 所分享出來的 印表機
使用 Samba 所分享出來的 印表機
使用 Samba 所分享出來的 印表機
使用 Samba 所分享出來的 印表機
使用 Samba 所分享出來的 印表機
使用 Samba 所分享出來的 印表機