|
|||
| 2005/01/29 修改 | |||
| 開放原始碼而且免費的 samba 可以讓
FreeBSD 和網路中的 MS Windows 電腦透過網路芳鄰結合在一起,貼心的系統管理者如果再將對映網路磁碟機的動作寫入 login
script 中,對不會或是不習慣使用 FTP 的使用者來說,存取 FreeBSD 中的檔案和電腦中的其它檔案一樣方便。
如果想要有 Windows Server 登入的功能,samba 也可以扮演 PDC 的角色,一台硬體等級不高的機器馬上就可以變成效能不錯的 file server / print server。 1 安裝目前 samba 主要分為 2.x 和 3.x 兩個版本,在 FreeBSD 的 ports tree 中分別為 /usr/ports/net/samba 和 /usr/ports/net/samba3,一般現在比較建議使用 samba3。 和安裝其它軟體一樣,在 FreeBSD 如果懶得自己重新編譯當然就用 packages 來安裝,至於以 ports 來編譯並安裝 samba3 ,如果已經有所需的 ports tree 就執行:
接著會出現編譯選項的選擇對話方塊,可以依自己的需求選取,選好後就按 Tab 鍵將游標移到 [OK],然後按 Enter 鍵,接著就自動開始進行其它編譯的步驟,以後如果要重新選取編譯選項就執行 make config 重新設定。 如果一切進行順利,完成編譯的動作,我們可以執行下列指令來安裝:
2 設定安裝完 samba 我們可以在 /usr/local/etc/ 中看到一個叫 smb.conf.default 的設定範例檔,參考這個範例檔的複本來修改即可,如果想知道更多的設定選項可以執行 man smb.conf 查看。 由於 FreeBSD ports 編譯的 samba 預設會讀取 /usr/local/etc/smb.conf 中的設定,所以我們先將設定範例拷貝成指定的檔名:
然後我們就可以利用文字編輯器打開來修改囉!
smb.conf 中的每一行文字除了註解 (井字號 # 和分號 ; 開頭) 以外,有中括號的那行 (例如:[global]、[homes]、[printers] ...... ) 為 section 的起始點,以下的都是該 section 的參數設定值,例如:workgroup = xxxx 、 os = 33 、 path = /home/share ......。 簡單的說,在 samba 附的設定的範例中 [global] 到 [homes] 之間放的應該有關 samba 的 global 參數,而其它的通通是有關資源分享時的設定參數,包括:資源的實體路徑、權限......。 下面是一些常用的設定:
資源分享設定範例:
上面的例子定義了一個分享的資源叫 www,對映到的實體路徑到個人目錄中的 www 目錄 (%H/www),那個 %H 是在 smb.conf 可使用的替換變數之一,代表使用者的個人目錄 (HOME),這部份讓我們在設定時可以省去很多麻煩,值得好好的研究一下,常用的還有 %m、%u 、%g、%U、 %L,詳細的說明還是 man smb.conf 吧! 前面定義好了 www 這個資源分享,我們只要在指定為 login script 的批定檔中加入一行:
這樣,使用者在登入時即可連好網路磁碟機 W: ,以後網頁直接存取 W: 磁碟就好。 下面是幾個以前用在 samba 2.x 的設定檔,可以參考看看
3 samba 的啟動與停止以 FreeBSD 的 ports/packages 安裝的 samba 在 /usr/local/etc/rc.d 目錄中應該會有個叫 samba.sh.sample 或是 samba.sh 的 script ,如果叫 samba.sh.sample 要先將它重新命名,改為 samba.sh,可以執行:
這樣在開機時才有可能自動啟動 samba。 有了 /usr/local/etc/rc.d/samba.sh 我們只要在後面再加上 start 或 stop 就可以啟動或停止 samba 的服務:
這是自從 FreeBSD 引進了 NetBSD 的 rc.subr 後就必須要在 /etc/rc.conf 中多做的設定。
4 FAQQ:怎麼將 win2k/XP 加入 samba 的網域? A:首先要先為要加入網域的 windows 機器在 server 上新增機器帳號,然後再依一般 windows 加入網域的程序加入 samba 網域。
Q:設定了 logon script 的檔名,為什登入時卻沒有執行批次檔中的內容? A:在 MS Windows 的批次檔中一行只能放一個指令,而在 FreeBSD 中按 Enter 鍵和 MS Windows 按 Enter 鍵同樣都是換到下一樣,但是儲存的資料不一樣,FreeBSD 中按 Enter 鍵只產生 line feed,而在 MS Windows 中按 Enter 鍵則是產生 carriage return 和 line feed,會發生不執行批次檔內容的情形大都是在 FreeBSD 上編寫或修改批次檔或是由 MS Windows 透過 FTP 上傳時忘了將傳輸模式換成 binary 造成的,為了避免這種現象,我們可以將放 logon script 的資源 [netlogon] 設給屬於管理群組的使用者可以寫入(設定 wirte list),直接在 Windows 上透過網芳來編修。
別忘了,man smb.conf 很好用啦!!
北市文山區力行國小顏國雄 |