Samba的主要配置文件是smb.conf,默認情況下位於/etc/samba/目錄中。
Smb.conf包含多個段,每個段以段名開始,以下壹個段名結束。每個段名都用方括號括起來。每個參數的格式是:名稱=引用。在配置文件中,每行有壹個段名和參數,段名和參數名不區分大小寫。
除了【全局】段,所有段都可以視為* * *資源。段名是* * *資源的名稱,段中的參數是* * *資源的屬性。
安裝Samba後,可以使用testparm命令來測試smb.conf的配置是否正確。使用testparm–v命令詳細列出smb.conf支持的配置參數。
全局參數:
==================全局設置===============
[全球]
配置文件= /usr/local/samba/lib/smb.conf,%m
描述:配置文件允許您使用另壹個配置文件來覆蓋默認配置文件。如果文件不存在,則該項無效。這個參數非常有用,它可以使samba配置更加靈活,並允許壹個samba服務器模擬多個具有不同配置的服務器。例如,如果希望PC1(主機名)在訪問samba服務器時使用自己的配置文件,首先在/etc/samba/host/下為pc1配置壹個名為smb.confc 1的文件,然後在SMB . conf中添加:config file =/etc/samba,這樣,當PC1請求連接Samba服務器時,smb.conf.%m被替換為smb.conf.pc1。這樣,對於PC1,它使用的Samba服務是由smb.conf.pc1定義的,而其他機器仍然使用smb.conf訪問Samba服務器。
工作組=工作組
描述:設置Samba服務器將加入的工作組或域。
服務器字符串= Samba服務器版本%v
描述:設置Samba服務器的註釋,可以是任意字符串,也可以為空。宏%v表示顯示Samba的版本號。
netbios name = smbserver
說明:設置Samba服務器的NetBIOS名稱。如果留空,默認情況下將使用服務器DNS名稱的第壹部分。Netbios名稱和工作組名稱不應設置為相同。
接口= lo eth 0 192.168.12.2/24 192.168.13.2/24
描述:設置Samba服務器監聽哪些網卡。可以寫網卡的名稱,也可以寫網卡的IP地址。
主機允許= 127。192.168.1.192.168.10.1
描述:表示允許客戶端連接到Samba服務器,多個參數用空格分隔。它可以用IP或網段來表示。主機拒絕與主機允許正好相反。
例如:主機允許= 172.17.2 . except 172.17 . 2 . 50。
這意味著主機連接從172.17.2。*.*允許,但不包括172.17.2.50。
主機允許= 172.17 . 2 . 0/255 . 255 . 0 . 0
這意味著來自172.17 . 2 . 0/255 . 255 . 0 . 0子網的所有主機都可以連接。
主機允許=M1,M2
這意味著來自M1和M2的兩臺計算機被允許連接。
主機允許=@xq
表示允許來自XQ域的所有計算機連接。
最大連接數= 0
描述:max connections用於指定Samba服務器的最大連接數。如果超過連接數,新的連接請求將被拒絕。0表示無限制。
空載時間= 0
註意:deadtime用於設置在不打開任何文件的情況下斷開連接的時間。單位是分鐘,0表示Samba服務器不會自動斷開任何連接。
時間服務器=是/否
描述:時間服務器用於設置使nmdb成為windows客戶端的時間服務器。
日誌文件= /var/log/samba/log。%m
描述:設置Samba服務器日誌文件的存儲位置和日誌文件名。在文件名後添加宏%m(主機名)意味著為每臺訪問Samba服務器的機器單獨記錄壹個日誌文件。如果pc1和pc2訪問過Samba服務器,那麽/var/log/samba目錄中會留下兩個日誌文件log.pc1和log.pc2。
最大日誌大小= 50
描述:以kB為單位設置Samba服務器日誌文件的最大容量,其中0表示無限制。
安全性=用戶
描述:設置用戶訪問Samba服務器的身份驗證方法。壹個* * *有四種認證方式。
1.share:用戶訪問Samba服務器不需要提供用戶名和密碼,安全性能低。
2 2.用戶:Samba Server*** * *訪問目錄只能由授權用戶訪問,Samba Server負責檢查帳號和密碼的正確性。應該在這個Samba服務器上建立帳號和密碼。
3.服務器:依靠其他Windows NT/2000或Samba服務器來驗證用戶的帳號和密碼,是壹種代理驗證。在這種安全模式下,系統管理員可以將所有Windows用戶和密碼集中在壹個NT系統上,並使用Windows NT對Samba進行身份驗證。遠程服務器可以自動驗證所有用戶和密碼。如果認證失敗,Samba將使用用戶級安全模式作為替代。
4.域:域安全級別,通過使用主域控制器(PDC)完成身份驗證。
passdb backend = tdbsam
描述:passdb backend表示用戶後臺。目前有三種後臺:smbpasswd,tdbsam,ldapsam。Sam應該是安全客戶經理的簡稱。
1.smbpasswd:這種方式是用smb自己的工具smbpasswd給系統用戶(真
用戶或虛擬用戶)設置壹個Samba密碼,客戶端將使用這個密碼訪問Samba資源。缺省情況下,smbpasswd文件位於/etc/samba目錄中,但有時需要手動創建。
2.tdbsam:該方法使用數據庫文件建立用戶數據庫。數據庫文件名為passdb.tdb,默認情況下位於/etc/samba目錄中。Passdb.tdb用戶數據庫可以使用SMB passwd–a建立Samba用戶,但是要建立的Samba用戶必須首先是系統用戶。我們還可以使用pdbedit命令來設置壹個Samba帳戶。pdbedit命令中有許多參數,我們列出了幾個主要的參數。
Pdbedit -a username:創建壹個新的Samba帳戶。
Pdbedit -x用戶名:刪除Samba帳戶。
pdb edit–l:列出Samba用戶並讀取passdb.tdb數據庫文件。
Pdbedit -Lv:列出Samba用戶列表的詳細信息。
pdbedit–c "[d]"–u username:暫停這個Samba用戶的帳戶。
pdb edit–c "[]"–u username:恢復這個Samba用戶的帳戶。
3.ldapsam:這種方法基於LDAP帳戶管理來驗證用戶。首先建立LDAP服務,然後設置“passdbback end = LDAP Sam:LDAP://LDAP server”。
加密密碼=是/否
描述:是否加密驗證密碼。因為windows操作系統現在使用加密密碼,所以通常有必要打開它。但是,默認情況下,配置文件是打開的。
SMB passwd file =/etc/samba/SMB passwd
描述:用於定義samba用戶的密碼文件。如果smbpasswd文件不可用,則必須手動創建它。
用戶名映射= /etc/samba/smbusers
描述:用於定義用戶名映射,例如root可以替換為administrator、admin等。但是,必須事先在smbusers文件中定義。比如root = administrator admin,這樣可以用administrator或admin兩個用戶代替root登錄Samba服務器,更接近windows用戶的習慣。
來賓帳戶=無人
描述:用於設置來賓用戶名。
套接字選項= TCP _ NODELAY SO _ RCVBUF = 8192 SO _ snd buf = 8192
描述:用於設置服務器和客戶端之間會話的Socket選項,可以優化傳輸速度。
域主機=是/否
描述:設置Samba服務器是否將成為域主瀏覽器,它可以管理跨子域的瀏覽服務。
本地主機=是/否
描述:local master用於指定Samba服務器是否試圖成為本地域的主瀏覽器。如果設置為否,它將永遠不會成為本地域的主瀏覽器。但是,即使設置為yes,也不代表Samba服務器可以成為主瀏覽器,需要參與選舉。
首選主機=是/否
描述:設置Samba服務器壹打開就強制主瀏覽器選舉,可以提高Samba服務器成為本地域主瀏覽器的幾率。如果此參數指定為yes,最好將域主機指定為yes。使用該參數時,需要註意的是,如果該Samba服務器所在子網中的其他機器(無論是windows NT還是其他Samba服務器)也被指定為第壹主瀏覽器,那麽這些機器會因為競爭主瀏覽器而在網絡上進行廣播,從而影響網絡性能。
如果同壹個區域有多個Samba服務器,只需將上述三個參數設置為壹個即可。
操作系統級別= 200
備註:設置samba服務器的操作系統級別。該參數決定Samba服務器是否有機會成為本地域的主瀏覽器。os級別從0到255,winNT的os級別是32,win95/98的os級別是1。Windows 2000的操作系統級別是64。如果設置為0,則意味著Samba服務器將丟失其瀏覽選擇。如果您希望Samba服務器成為PDC,請將其os級別值設置得更高。
域登錄=是/否
備註:設置Samba服務器是否將用作本地域控制器。主域控制器和備份域控制器都需要打開它。
登錄。= %u.bat
描述:當用戶使用windows客戶端登錄時,Samba會提供壹個登錄文件。如果設置為%u.bat,將為每個用戶提供壹個登錄文件。人多了就比較麻煩了。可以將其設置為特定的文件名,比如start.bat,這樣用戶登錄後就會執行start.bat,而不需要為每個用戶設置壹個登錄文件。該文件應該放在由[netlogon]設置的目錄路徑中。
wins支持=是/否
描述:設置samba服務器是否提供wins服務。
wins server = wins服務器的IP地址。
描述:設置Samba服務器是否使用其他wins服務器來提供wins服務。
wins代理=是/否
描述:設置Samba服務器是否啟動wins代理服務。
dns代理=是/否
描述:設置Samba服務器是否啟動dns代理服務。
加載打印機=是/否
描述:設置啟動Samba時是否* * *享受打印機。
printcap name = cups
描述:設置* * *專用打印機的配置文件。
印刷=杯子
描述:設置Samba***打印機的類型。現在支持的打印系統有:BSD,SYSV,PLP,LPRNG,AIX,HPUX,QNX。
* * *享受參數:
=============== = = = =共享定義= = = = = = = = = = = = = = =
[* * *享受這個名字]
Comment =任何字符串。
描述:評論是對這種* * *享受的描述,可以是任何字符串。
Path = ***共享目錄路徑。
描述:path用於指定* * *共享目錄的路徑。像%u和%m這樣的宏可以用來替換路徑中unix用戶和客戶端的Netbios名稱。宏主要用於[家庭]***域。例如,如果我們不打算把home段作為客戶的* * *享受,而是在/home/share/下為每個Linux用戶建立壹個目錄作為他的* * *享受目錄,那麽路徑可以寫成:path =/home/share/% u;。當用戶連接到這個* * *享受時,具體的路徑會被他的用戶名代替。請註意,該用戶名路徑必須存在,否則客戶端訪問時將找不到網絡路徑。同樣,如果我們不是按用戶,而是按客戶端劃分目錄,用它的netbios samba為網絡上的每臺機器構建壹個路徑,作為不同機器的* * *共享資源,我們可以這樣寫:path = /home/share/%m/%m。
可瀏覽=是/否
描述:browseable用來指定這個* * *享受是否可以瀏覽。
可寫=是/否
描述:writeable用於指定* * *共享路徑是否可寫。
可用=是/否
描述:可用用於指定* * *資源是否可用。
管理員用戶=此* * *的經理
描述:admin users用於指定該* * *權限的管理員(對該* * *權限擁有完全控制權)。在samba 3.0中,如果用戶驗證方法設置為“security=share”,則此項無效。
例如:admin users =bobyuan,jane(多個用戶用逗號分隔)。
有效用戶=允許訪問此* * *的用戶
描述:有效用戶用於指定允許訪問此* * *資源的用戶。
比如:有效用戶= bobyuan,@bob,@tech(多個用戶或群用逗號分隔,如果要加入群就用@+群名)。)
無效用戶=禁止訪問此* * *的用戶
描述:無效用戶用於指定不允許訪問此* * *資源的用戶。
例如:無效用戶= root,@bob(多個用戶或組用逗號分隔。)
寫入列表=允許寫入此的用戶* * *
描述:寫列表用於指定在此權限下可以寫文件的用戶。
比如:寫list = bobyuan,@bob
公共=是/否
描述:public用於指定* * *享受是否允許來賓帳戶訪問。
遊客ok =是/否
說明:意思和“公”壹樣。
幾個特別* * *享受:
[住宅]
註釋=主目錄
可瀏覽=否
可寫=是
有效用戶= %S
;有效用戶=我的域\%S
[打印機]
註釋=所有打印機
path = /var/spool/samba
可瀏覽=否
遊客ok =否
可寫=否
可打印=是
[網絡登錄]
comment =網絡登錄服務
路徑= /var/lib/samba/netlogon
遊客ok =是
可寫=否
共享模式=否
[個人資料]
路徑= /var/lib/samba/profiles
可瀏覽=否
遊客ok =是