Samba的smb.conf配置檔案
smb.conf檔案(在/etc/smaba中)儲存的是Samba守護程序的配置的。這個檔案分為2個基本的部分:一個是全局選項的,另一個是共享服務的。共享服務就是共享,可以是檔案空間服務(filespace service)或列印機服務(printable services)。檔案空間服務就是讓某個目錄給使用者使用,就好像在用他們自己的硬碟檔案一樣。列印服務提供客戶列印機的相應功能。
/etc/samba/smb.conf檔案儲存着許多共享的資源的配置情況,也有許多全局的資源配置。/etc/samba目錄裡的smb.conf檔案包含的預設的配置,許多配置選項都被用分号“;”或者“#”注釋掉了,是以你可以直接去掉注釋符号就應用相應被注釋的選項了。有時你可能不太喜歡直接修改它,此時你可以用SWAT進行管理。SWAT本身也提供一大量的幫助文檔。在Man page中的smb.conf可以得到十分全面的Samba配置參數。一個擴充的示例smb.conf在/usr/share/doc/samba* 目錄的examples裡。
在smb.conf檔案裡,全局選項是先設定的,緊跟的是每一個共享資源的配置。smb.conf檔案是以“段(section)”分的。而每個資源的配置就是被包含在它自己的section中了,每個section都有它自己的服務名稱和它的屬性的定義。即使是全局(global)選項也要放在section裡(以global為标簽)。例如:對于檔案空間共享,它包含目錄和相應的可通路的使用者對其使用的權限。每一個section都以它所共享的資源名為标簽名。對于特殊的标簽,如printers和homes,對使用者目錄和列印通路提供了預設的描述。在特别的section中,setction是通過特别的服務進入的,以名稱通路特别目錄或列印機。
一個Section以段标簽開始,它指定了共享資源的名稱,并以括号括起來。除了特别的section,段标簽可以是你起的任意的名字。在段标簽後面,另起行,這個服務的各種參數放在這裡。參數定義了對使用者通路這個服務的權限。例如:對于一個目錄,你可能想要讓它可浏覽,但是隻有讀的權限,而且用指定的列印機。參數的格式為parameter name = value。既左面是參數名,右邊是其對應的值。你可以在這裡加入注釋,方法是在注釋前加分号“;”(按行的)。
一個簡單的例子如下:
段标簽以括号裡,有兩個參數。path參數指定允許誰通路。writeable參數指定使用者是否有向此目錄寫的權限。
[mysection]
path = /home/chris
writeable = true
列印服務也有和上面相同的格式,但是要求一些其它的必須參數。path參數指定列印緩沖區的目錄,read-only和printable參數如果設為true,則服務中隻讀的和可列印的。public意為任何人都可以通路它。
[myprinter]
path = /var/spool/samba
read only = true
printable = true
public = true
參數入口總是有很多相似的,而且不同的入口也可以有相同的意思。例如:read-only=no,writeable=yes和write ok=yes都是一個意思:提供給使用者可寫的權限。public參數和guest ok是一樣的。SWAT會使用guest ok,而不是public;使用read only而不是writeable。
SWAT和smb.conf
SWAT是基于網絡的Samba配置實用工具。它是用浏覽器來管理smb.conf檔案的。SWAT是至今為止最為友善簡單的方式了。SWAT提供便于使用的按鈕、菜單和文本框操作的界面來輸入值。頁面上方導覽列裡的一系列的簡單的按鈕是讓你選擇你想更改的section的。還有直接更改密碼的按鈕呢。要想檢視smb.conf檔案的内容,就點選“view”。首頁面(HOME)就顯示Samba文檔的清單。
激活SWAT
SWAT一般都和Samba一起安裝。SWAT是一個xinetd服務。作為一個xinetd服務,它會被列在/etc/services和/etc/xinetd.d/swat檔案裡。SWAT程式使用901端口。/etc/services檔案裡是這樣寫的:
swat 901/tcp # Samba Web Administration Tool
作為一個xinetd服務,SWAT會有它自己的xinetd檔案(在/etc/xinetd.d目錄和/etc/xinetd.d/swat)。SWAT是預設不啟動的。它的disable選項也被設定為yes。要想使用SWAT,就應該将disable設為no。選項改為下面的樣子:
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
disable = no
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}
你可以用chkconfig或者服務配置工具來啟動SWAT或者手動修改/etc/xinetd.d/swat檔案,将disable改為no。 chkconfig會編輯/etc/xinetd.d/swat檔案,做相應的改變。下面示例了chkconfig的用法:
chkconfig swat on
使用chkconfig,你就不需要手動重新啟動xinetd服務。但是,如果你手動修改了檔案,你就得重新開機服務來讓你的改變起作用。在Red Hat裡,你可以簡單的使用下面的指令操作:
service xinetd restart
在使用SWAT之前,最好将你的smb.conf檔案備份。SWAT會用它自己的檔案覆寫原來的檔案。因為原來的檔案裡包含了好多的可擴充選項以及相應的說明。這是一個很多的學習文檔,還有非常精彩的示例。可以像下面這樣備份:
cp /etc/samba/smb.conf /etc/samba/smb.bak
通路SWAT
你可以通過Samba配置器啟動SWAT。這會啟動你的Web浏覽器,并指向localhost位址:127.0.0.1:901,當然你也可以手動打開浏覽器,輸入正确的内容:
[url]http://127.0.0.1:901[/url]
如果你使用Samba伺服器的IP位址。也可以從遠端通路SWAT。然而,你得先讓伺服器支援這樣做。在/etc/xinetd.d/swat檔案裡,目前在only_from行是指定為localhost的。要想讓任何遠端使用者都可以通路,去掉這行就行了。如果你要提供某些特定的主機,你可以在那行後面加上主機。注意修改完配置檔案,還得重新開機SWAT服務才能應用。例如,
only_from 127.0.0.1 rabbit.mytrek.com
指定可以從localhost和rabbit.mytrek.com通路。
下面的從遠端的浏覽器位址欄中的URL通路turtle.mytrek.com和SWAT服務:
[url]http://turtle.mytrek.com:901[/url]
它會首先讓你輸入使用者名和密碼。要想配置Samba,你當然得用root和其密碼登入。在遠端主機裡以明文方式輸入密碼是不安全的。
SWAT配置頁
SWAT的主面顯示出一行的按鈕,按鈕分别是HOME,GLOBAL,SHARES,PRINTERS,STATUS,VIEW和PASSWORD。可以使用STATUS來檢視活動的SMB網絡的連接配接情況。
表37-2:SWAT配置頁
頁
描述
HOME
SWAT首頁,列出文檔資源。
GLOBALS
配置全局Samba的section
SHARES
選擇的配置共享的目錄
PRINTERS
設定對列印機的通路
STATUS
檢查Samba服務的狀态,既包括smbd又包括nmbd。列出目前活動的用戶端和他的的動作。在這個頁面裡你可以啟動,停止或重新開機Samba服務。
VIEW
顯示smb.conf配置檔案
PASSWORD
設定密碼檔案,包含通路伺服器的使用者。
對于多種多樣的section,SWAT能顯示或者基本的或者進階的編輯界面。基本界面隻顯示用來配置基本功能的選項入口。進階的則顯示所有可能的
section編輯入口。一個按鈕——以“Advanced View”和“Basic View”來回顯示——是在頁面最上面section
page顯示的。Section
Printers和Shares加了一些按鈕的菜單來讓你選擇特定的列印機或者共享資源。當你點選SHARES按鈕時,你最開始隻能看到少數幾個按鈕顯示
在頁面的最上邊。你使用這些按鈕來建立section或者編輯section。對于建立一個section,在Create
Share按鈕旁邊的輸入框中輸入它的名字,然後點選那個按鈕。新的共享名字就出現在相應的下拉菜單中。開始時,這個按鈕是空的。點選它來顯示目前的共享
section。選擇你想要的,然後點選Choose
Share按鈕。然後頁面就顯示了配置一個共享資源的入口。對于一個新的共享,它們或者是空的或者都是預設值。例如,選擇Homes
section,,這裡配置為預設的使用者主目錄。點選下拉菜單,找Homes 入口,選擇它,然後點選Choose Share按鈕。Home
section的入口就顯示出來了。相似的工作也可在Printers 頁面裡進行,以那裡你既可以選擇Printer
section也可以對特定的列印機建立section。
注意:Samba為已經存在的列印機自動建立入口,它是從/etc/printcat檔案裡找到的。你也許要編輯列印機的入口來控制對你的列印機的通路。Samba要使用一個列印機,它首先配置為本地或者網絡的。記住一個網絡列印機是一個Windows系統的網絡列印機。
當你完成對一個section的編輯後,點選“Commit Changes”(确認改變)。這樣就産生了一個新的smb.conf檔案。要想讓Samba伺服器應用改變,請重新開機Samba伺服器。你可以友善地點選Status頁的Resart smb按鈕來實作。