7.1.2 Samba服務(wù)器配置文件
在安裝了Samba服務(wù)軟件后,會自動在Linux系統(tǒng)中生成一系列的配置文件,了解它們的用途是配置Samba服務(wù)器所必需的。這些配置文件包括:
/etc/Samba/smb.conf
這是Samba服務(wù)的主配置文件,由全局設(shè)置(Global Settings)和共享定義(Share Definitions)兩部分組成。無集結(jié)Samba服務(wù)器工作在下節(jié)將要介紹的哪種模式,都需要配置這個主配置文件。各種不同工作模式下的Samba主配置文件的配置方法將在本章后面介紹。
/etc/Samba/lmhosts
這個主機配置文件,提供了局域網(wǎng)內(nèi)主機的NetBIOS名與IP地址的對應(yīng)。此文件中每一行對應(yīng)一個主機的IP地址和NetBIOS計算機名的記錄。前面是主機的IP地址,后面是這個IP地址對應(yīng)主機的NetBIOS名稱,中間用空格分隔。為了使Linux系統(tǒng)主機能識別這種主機名,需要用戶將局域網(wǎng)中的Windows NetBIOS主機名與IP地址的對應(yīng)關(guān)系列入此文件中,一定要包括作為Samba服務(wù)器的Linux系統(tǒng)主機本身,因為Samba服務(wù)器就是依據(jù)這個配置文件來識別不同系統(tǒng)主機的。但是,通常在啟動Samba服務(wù)進(jìn)程時就能自動捕捉到網(wǎng)絡(luò)中相關(guān)IP地址對應(yīng)的NetBIOS名,自動在lmhosts文件中添加這些映射關(guān)系,所以通常是不需要專門配置這個配置文件的。
/etc/Samba/smbpasswd
該配置文件又稱Samba服務(wù)器的密碼文件,用于工作在user模式下的Samba服務(wù)器配置中。此文件在Samba服務(wù)安裝后是不存在的,需要使用smbpasswd命令創(chuàng)建。由于Samba服務(wù)和Linux操作系統(tǒng)使用不同的密碼文件,因此Linux操作系統(tǒng)中的用戶賬戶不能直接登錄Samba服務(wù)器,需要為Linux用戶創(chuàng)建新的Samba用戶賬號和密碼。在管理員第一次使用smbpasswd命令創(chuàng)建Samba服務(wù)的賬戶時,會自動創(chuàng)建這個smbpasswd文件。smbpasswd命令的用法具體也將在本章后面介紹。
目前在最新版本的Linux系統(tǒng)核心中該文件改成為了/etc/Samba/passdb.tdb,以數(shù)據(jù)庫方式存儲,而不是以文本的方式存儲,提高了安全性。不過在此仍以/etc/Samba/smbpasswd為例進(jìn)行介紹。
etc/Samba/smbusers
該配置文件又稱Samba服務(wù)器的用戶文件,也是用于工作在user模式下的Samba服務(wù)器配置的。此文件提供了外部登錄名與本地用戶名的映射關(guān)系,使得訪問Samba服務(wù)器的用戶名與本地Linux系統(tǒng)賬戶沒有一個完全的一對一對應(yīng)關(guān)系,有效地防止了使用訪問Samba服務(wù)器的賬戶攻擊Linux系統(tǒng)主機的可能性。所謂用戶映射是指將用戶在Windows或客戶端Linux系統(tǒng)中的不同賬戶映射為一個Samba服務(wù)器的用戶賬戶。映射后的Windows賬戶或客戶端Linux賬戶在連接Samba服務(wù)器時,就可以直接使用他們自己的賬戶(而不是直接使用Samba服務(wù)器所在Linux系統(tǒng)的用戶賬戶)進(jìn)行訪問了。
設(shè)置用戶映射需要在Samba主配置文件smb.conf中進(jìn)行修改,全局參數(shù)username map控制用戶映射。通過該參數(shù)指定一個映射文件,默認(rèn)情況下,這個映射文件就是/etc/Samba/smbusers。因此,需要在smb.conf文件中做如下設(shè)置:username map = /etc/samb/smbusers,記得將默認(rèn)配置文件中該語句前面的注釋符號#去掉,然后編輯/etc/Samba/smbusers文件,將需要進(jìn)行映射的用戶添加到文件中。參數(shù)格式如下:
Linux系統(tǒng)用戶賬戶 = 需要映射的Windows或Linux賬戶列表
一個Samba服務(wù)器所在Linux系統(tǒng)賬戶映射多個賬戶時,用戶名間需要用空格分隔。也就是說,多個Windows或客戶端Linux系統(tǒng)用戶賬戶可以映射為同一個Samba賬戶。例如:
- Samba = SMB_name1 SMB_name2 …)
- root = administrator admin
- nobody = guest pcguest smbguest
有關(guān)etc/Samba/smbusers文件的配置也將在本章后面介紹。
/etc/Samba/secrets.tdb:存放Samba用戶賬戶的加密密碼。
Samba的用戶認(rèn)證主要通過/e/tc/Samba/smbpasswd和/etc/Samba/smbusers兩個文件實現(xiàn),其中smbpasswd文件用于存放用smbpasswd -a命令將Linux本地賬戶生成的Samba賬戶和密碼,而smhbusers文件用于存放、設(shè)置Windows用戶和Linux本地賬戶的映射,便于Windows賬戶直接訪問Samba服務(wù)器。
聯(lián)系客服