7.2 Samba.conf主配置文件主要設(shè)置解析 安裝了Samba服務(wù)器所需要的程序包后,就會自動生成Samba服務(wù)主配置文件:/etc/Samba/smb.conf。它用于設(shè)置工作群組、 Samba服務(wù)器工作模式、NetBIOS名稱以及共享目錄等相關(guān)設(shè)置。打開這個(gè)文件,可以看到包括了許多配置選項(xiàng),在此就不一一列舉了。如果不了解相關(guān) 配置項(xiàng)的作用,建議保持原配置文件中的配置,僅對需要修改的項(xiàng)目進(jìn)行修改。下面先來了解主配置文件中一些主要的全局設(shè)置選項(xiàng)。 7.2.1 smb.conf全局設(shè)置選項(xiàng)解析 在Samba服務(wù)器的主配置文件/etc/Samba/smb.conf中,所有語句是由全局設(shè)置(Global Settings)和共享定義(Share Definitions)兩個(gè)部分組成的。全局設(shè)置設(shè)置關(guān)于Samba服務(wù)整體運(yùn)行環(huán)境的選項(xiàng),針對所有共享資源;共享定義設(shè)置共享目錄。設(shè)置完基本參數(shù) 后使用testparm命令檢查語法錯(cuò)誤,如看到"Loaded services file OK"的提示信息,則表明配置文件加載正常,否則系統(tǒng)會提示出錯(cuò)的地方。本節(jié)先介紹全局設(shè)置部分。 前面說了,在長過幾百行的Samba.conf默認(rèn)配置文件中,可以分成兩大部分,首先要配置的是全局參數(shù)。它的配置文件是以下面這行開始的:
在[global]項(xiàng)中的設(shè)置選項(xiàng)是一些主機(jī)的全局參數(shù)設(shè)置,包括工作群組、主機(jī)的 NetBIOS名稱、字符編碼的顯示、登錄文件的設(shè)定、是否使用密碼以及使用密碼驗(yàn)證的機(jī)制等。下面把這部分的一些主要設(shè)置語句列出來,介紹設(shè)置方法。注 意,在默認(rèn)提供的Samba.conf配置文件中,用"#"開頭的都是對下面的語句進(jìn)行說明的文字,配置時(shí)不用管它。以";"開頭的行是語句配置范例,修 改成自己的設(shè)置,并去掉前面的";"才能使語句生效。另外,要注意,在語句設(shè)置中,賦值"="兩端必須留有一個(gè)空格。 workgroup = MYGROUP 這個(gè)設(shè)置語句用來設(shè)置Windows網(wǎng)絡(luò)工作組或域名(如果是域,且工作模式為ads,則必須 是DNS名稱,否則為NetBIOS名稱)。但要注意,這里的配置要與下面的security語句對應(yīng)設(shè)置,如果設(shè)置了security = domain,則workgroup用來指定Windows域名(domain模式為NetBIOS格式)。 realm = MY_REALM 這是當(dāng)Samba服務(wù)器設(shè)置為ads模式時(shí)專用的一個(gè)語句,用于指定Windows 2000 Server或Windows Server 2003域網(wǎng)絡(luò)中進(jìn)行身份驗(yàn)證的Kerberos服務(wù)器領(lǐng)域名稱。 netbios name = Sambaserver 這是用來設(shè)置Samba服務(wù)器的NetBIOS名稱。如果沒有這個(gè)語句,則在Windows計(jì)算機(jī)中顯示的是默認(rèn)的hostname名稱。 server string = Samba Server 這個(gè)設(shè)置語句其實(shí)用途不大,相當(dāng)對當(dāng)前Samba服務(wù)器的一個(gè)描述,可以任意,也可以直接采用默認(rèn)的"Samba Server"設(shè)置。 username map = /etc/samb/smbusers 此文件中提供了Windows系統(tǒng)用戶登錄名與本地Samba用戶名的映射關(guān)系,若想要在 Windows主機(jī)中直接用Windows賬戶訪問共享目錄就必須為其在/etc/samb/smbusers文件中映射為一個(gè)Samba賬戶,然后就能 直接使用該Windows賬戶訪問Samba服務(wù)器了。 這個(gè)語句不用更改配置,只是要把默認(rèn)配置文件中該語句前面的"#"或";"刪除掉。 security = user 這是用來設(shè)置用戶訪問Samba服務(wù)器的安全模式。在Samba服務(wù)器中主要有5種不同級別的安全模式:share、user、server、domian和ads。具體參見上節(jié)介紹。 hosts allow = 192.168.1. 192.168.2. 127. 這個(gè)語句是用來允許(關(guān)鍵字為allow)或禁止(關(guān)鍵字為deny)訪問Samba服務(wù)器的 子網(wǎng)或主機(jī)的,各子網(wǎng)或主機(jī)IP地址間用空格分隔。默認(rèn)配置文件中是僅允許了192.168.1.0/24、192.168.2.0/24這兩個(gè)子網(wǎng)和 127.0.0.0/8這個(gè)本地環(huán)路子網(wǎng)的,語句把凡是為0的八位組都省略了。 【經(jīng)驗(yàn)之談】當(dāng)host deny和hosts allow語句同時(shí)出現(xiàn),并定義的內(nèi)容中有包含關(guān)系,且有相互沖突時(shí),hosts allow語句優(yōu)先。如host deny語句中禁止了C類地址192.168.1.0/24整個(gè)網(wǎng)段主機(jī)訪問,而在hosts allow語句中又設(shè)置了允許192.168.1.10主機(jī)訪問Samba服務(wù)器,則最終是192.168.1.10主機(jī)可以訪問,但 192.168.1.0/24網(wǎng)段中的其他主機(jī)仍不能訪問。如果要允許或者禁止所有用戶訪問,則可用hosts allow = All或hosts deny = All語句。 在hosts語句中其實(shí)還有一個(gè)關(guān)鍵字經(jīng)常用到,那就是except(除……之外)。如 hosts allow = 192.168.0. except 192.168.0.1 192.168.0.10 192.168.1.20語句表示允許192.168.0.0整個(gè)網(wǎng)段用戶訪問,但是192.168.0.1、192.168.0.10和 192.168.1.20這臺計(jì)算機(jī)除外。 另外要注意,hosts語句既可以全局設(shè)置,也可以局部設(shè)置。如果hosts語句是在 [global]部分設(shè)置的,就會對整個(gè)Samba服務(wù)器全局生效,也就是對下面添加的所有共享目錄生效,都采用相同的主機(jī)訪問限制設(shè)置;而如果設(shè)置在具 體的共享目錄部分,則表示只對該共享目錄生效,更加靈活。 log file = /var/log/Samba/%m.log 這個(gè)語句用來設(shè)置Samba服務(wù)器為每個(gè)工作站主機(jī)創(chuàng)建一個(gè)獨(dú)立的日志文件。保持默認(rèn)設(shè)置即可。 max log size = 50 這個(gè)語句用來設(shè)置每個(gè)日志文件的最大限制為50KB。一般來說保持默認(rèn)設(shè)置即可。 【說明】如果用戶對Samba服務(wù)器的安全模式為Server模式,則還需要配置password server選項(xiàng),用來指出擔(dān)當(dāng)身份驗(yàn)證的服務(wù)器名稱。本示例中采用的是Domain模式,直接使用域控制器作為身份驗(yàn)證服務(wù)器,所以無需配置此語句。 load printers = yes | no 這個(gè)語句用來設(shè)置是否允許自動加載財(cái)貿(mào)系統(tǒng)中其他地方的打印機(jī),在企業(yè)網(wǎng)絡(luò)中,一般需要共享打印機(jī),所以此語句保持默認(rèn)的允許自動加載打印機(jī)設(shè)置即可。 interfaces = 192.168.12.2/24 192.168.13.2/24 這個(gè)設(shè)置語句用來設(shè)置在Samba服務(wù)器上有多塊網(wǎng)卡或者分配了多個(gè)IP地址時(shí)列出所有的IP地址,各IP地址間用空格分隔。注意這是以地址前綴方式表示的。有關(guān)地址前綴表示方法參見本系列教材的初級課程。 local master = no | yes 這個(gè)語句用來設(shè)置是否要把Samba服務(wù)器當(dāng)作本地網(wǎng)絡(luò)中的主瀏覽器。本示例中主網(wǎng)絡(luò)還是Windows Server 2003域網(wǎng)絡(luò),為了不使整個(gè)網(wǎng)絡(luò)的瀏覽器管理混亂,禁止把Samba服務(wù)器當(dāng)成主瀏覽器,保持默認(rèn)配置即可。 domain master = yes | no 這個(gè)語句與上面的local master功能類似,用來設(shè)置是否把Samba服務(wù)器當(dāng)作域網(wǎng)絡(luò)的主瀏覽器。本示例中的網(wǎng)絡(luò)是Windows Server 2003域網(wǎng)絡(luò),域控制器才是主瀏覽器,所以要禁止這個(gè)選擇,設(shè)置成如下格式:
domain logons = yes | no 這個(gè)語句是為早期不能加入到Windows 2000 Server和Windows Server 2003域的Windows 95系統(tǒng)專門設(shè)置的,配置為yes值后就可以使Windows 95用戶使用Samba服務(wù)器作為域控制器來登錄Windows 2000 Server和Windows Server 2003域網(wǎng)絡(luò)了。本示例的網(wǎng)絡(luò)環(huán)境中沒有這類用戶,所以這個(gè)語句要修改為如下格式或者直接刪除不配置:
logon script = %m.bat和logon script = %U.bat 這是兩個(gè)語句,因?yàn)樗鼈兊挠猛绢愃?,所以放在一起介紹。這是在啟用域登錄腳本時(shí)才需要配置的。 logon script = %m.bat語句可以針對具體的工作站來設(shè)置登錄腳本;logon script = %U.bat則是針對具體的用戶來設(shè)置的登錄腳本。本示例中Linux用戶無須使用登錄腳本,可以不用配置。 config file = /etc/Samba/smb.conf.%U 這個(gè)語句用來為不同用戶的Samba服務(wù)器訪問指定使用不同的配置文件。但此時(shí)的用戶配置文件 名中必須包括對應(yīng)用戶的完整賬戶名。當(dāng)然這個(gè)配置文件需要管理員自己創(chuàng)建,不是自動生成的。可以通過復(fù)制主配置文件smb.conf來實(shí)現(xiàn)。如要為 lycb用戶指定單獨(dú)的配置文件,則該配置文件名為/etc/Samba/smb.conf.lycb。 guest account = pcguest 這個(gè)語句用來設(shè)置guest級別的來賓用戶名,guest級別的用戶可以不要密碼就訪問給定的 Samba服務(wù)器。在此設(shè)置的賬號名都必須在/etc/passwd文件中。如果沒有指定,服務(wù)器會當(dāng)成nobody賬號進(jìn)行處理。默認(rèn)情況下不啟用 guest賬號,除非是share工作模式。 以上就是Samba服務(wù)器配置文件的主要全局配置選項(xiàng),下面介紹共享定義部分設(shè)置選項(xiàng)。 |
|