FreeBSD安裝samba(轉)

gugu99發表於2007-08-11
FreeBSD安裝samba(轉)[@more@]

  FreeBSD下實現SMB/CIFS協議的軟體為samba ── 一個可以執行在很多種Unix系統中的著名自由軟體,它使得Unix對外如同一個Lan Manager伺服器,向Windows客戶提供檔案和列印服務。 Samba的當前版本為2.0,在FreeBSD下可以透過Packages Collection或Ports Collection進行安裝。

  samba的主頁為,包括有大量samba的資源。

  雖然SMB協議主要用於Microsoft網路,但samba的出現與其無關。它是作者Andrew Tridgell 試圖在一臺Sun工作站上完成DEC Pathworks功能的嘗試,以完成他的其他研究工作。Pathworks 是另一個基於SMB的伺服器。那時Andrew Tridgell對SMB和NetBIOS一無所知,但透過分析DOS客戶端和Pathworks的行為,他完成了Samba的最初版本。此後隨著越來越多的人加入Samba的開發,Microsft也公開了SMB的文件,Samba也越來越完善。使用Samba的使用者一般都會使用過Windows NT等其他SMB伺服器,根據他們的經驗,Samba伺服器的效能要超過其他的各種SMB伺服器,包括Windows NT。

  samba軟體的主要組成部分有:

  smbd:這就是samba的SMB伺服器,它使用SMB協議與客戶連線,完成事實上的使用者認證、許可權管理和檔案共享任務;

  nmbd:提供NetBIOS名字服務的守護程式,可以幫助客戶定位伺服器和域,如同Windows NT上的WINS伺服器;

  smb.conf:是samba的配置檔案,在FreeBSD中它被放在/usr/local/etc目錄中。

  swat:是一個Samba專用的WWW伺服器,用於透過客戶瀏覽器配置samba,提供了對Samba的圖形配置介面;

  smbclient:是一個簡單的SMB客戶程式,用於訪問其他SMB計算機共享的檔案或列印資源,例如Windows95 或NT計算機,它的操作和ftp類似。

  smbprint:一個shell指令碼,它使用smbclient向Windows計算機上共享出的印表機上傳送要列印的文件。

  nmblookup:用於查詢NetBIOS名字的命令列工具。

  • 安裝samba

  當使用Packages Collection安裝了Samba之後,將自動安裝一個啟動指令碼samba.sh.sample到/usr/local/etc/rc.d目錄中,可以將其更名為samba.sh,用於計算機啟動時自動啟動samba伺服器smbd和nmbd。但要啟動samba,還需要更改/usr/local/etc/目錄下的配置檔案smb.conf,安裝程式將自動安裝一個樣例檔案smb.conf.default,可以將其複製為smb.conf檔案,然後再進行修改。

# pkg_add samab-2.0.2.tgz

# cd /usr/local/etc

# cp smb.conf.default smb.conf

# cd rc.d

# cp samba.sh.sample samba.sh

# sh samba.sh

Samba

  為了正常使用samba,必須對smb.conf進行配置,可以直接編輯配置檔案,或者使用圖形設定介面進行設定。由於samba是一個非常流行的SMB伺服器,因此存在多種圖形介面的配置程式,samba2.0本身提供的 swat就是其中的一種,它作為一個Web伺服器,可以透過WWW瀏覽器來配置smb.conf。但是即使能透過圖形介面進行設定,但手工編輯smb.conf仍然是最基本的設定方式。

  如同上面的執行命令中所顯示的,預設的smb.conf就正常啟動samba伺服器,只是預設配置並不一定適合使用者的具體設定情況。例如域(或工作組)名字預設為MYGROUP,而實際網路中則不一定使用這個名字。下面的命令使用Samba提供的smbclient客戶程式,檢視預設smb.conf啟動的samba伺服器的設定。

# smbclient -L localhost -U%

Added interface ip=202.102.245.60 bcast=202.102.245.255 nmask=255.255.255.0

Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.0.2]

    Sharename   Type   Comment

    ---------   ----   -------

    IPC$      IPC    IPC Service (Samba Server)

    ascii     Printer  lj5gray-a4-ascii-mono

    lp2      Printer  lj5gray-a4-auto-mono

    lj5gray-a4-ra Printer  lj5gray auto raw

    wb       Disk   Home Directories

    Server        Comment

    ---------      -------

    fbsdsrv       Samba Server

    Workgroup      Master

    ---------      -------

    MYGROUP

  從這個輸出結果可以看出,預設使用的工作組為MYGROUP,提供共享的資源有IPC$,使用者個人目錄wb,以及系統中存在的多個印表機資源。samba使用計算機的hostname生成它NetBIOS名字fbsdsrv。

  最一般的情況下,只需要將工作組名字改動為與具體網路使用的名字相一致,就能使得使用Windows計算機的客戶正常訪問samba伺服器了,使用者在登入Windows的時候,使用自己在samba所在的Unix伺服器上的使用者名稱和口令登入,那麼就可以訪問samba伺服器上自己的個人目錄及印表機資源了。

  FreeBSD將Samba的文件安裝到/usr/local/share/doc/samba目錄下,一些設定檔案的例子被安裝到/usr/local/share/examples/samba目錄下,這些文件和例子對於理解SMB協議,正確設定Samba都是非常重要的參考資料。

  • 啟動samba方式

  啟動samba的基本方法是使用Package中提供的shell程式 ── 安裝在/usr/local/etc/rc.d目錄下的samba.sh。這個程式將會以守護程式的方式啟動smbd和nmbd兩個守護程式(啟動時使用-D引數)。這樣在計算機啟動時就能自動啟動samba伺服器。

  除了直接啟動之外,還可以使用超級伺服器inetd來啟動samba,這時inetd.conf中應該包括以下行:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944640/,如需轉載,請註明出處,否則將追究法律責任。

相關文章