samba后台进程及安全模式简介
識(shí)別 Samba 后臺(tái)程序
Linux 服務(wù)器通常作為守護(hù)程序(daemon) 來實(shí)現(xiàn),這一詞源于希臘神話,其中守護(hù)神(daemon)是超自然生物。Linux 守護(hù)程序在后臺(tái)運(yùn)行以便執(zhí)行一些有用的任務(wù)。Samba 服務(wù)器套件由幾個(gè)守護(hù)程序組成,包括 smbd、nmbd 和 winbindd。swat 程序是另外一個(gè) Samba 服務(wù)器,但是其通常都是從一個(gè)超級服務(wù)器運(yùn)行,因此在技術(shù)上不是守護(hù)程序。
了解 smbd
smbd 程序提供 Samba 的大部分核心功能。其職責(zé)包括:
提供文件和打印機(jī)共享。此功能可以說是一個(gè)最重要的 Samba 職責(zé),smbd 執(zhí)行此功能。
驗(yàn)證用戶。smbd 針對本地?cái)?shù)據(jù)庫驗(yàn)證用戶或傳遞驗(yàn)證請求到另一臺(tái)計(jì)算機(jī)。如果您的 Samba 服務(wù)器被配置為域控制器,則 smbd 還可從其他計(jì)算機(jī)響應(yīng)驗(yàn)證請求。(在 設(shè)置您的安全模式 中將描述工作組和域配置)。
提供時(shí)間服務(wù)。Samba 可以告訴其他計(jì)算機(jī)當(dāng)前的時(shí)間;smbd 可處理此細(xì)節(jié)。
默認(rèn)情況下,smbd 守護(hù)程序綁定到 TCP 端口 139 和 445。SMB 協(xié)議通過 TCP 上的 NetBIOS 使用端口 139,它是許多舊客戶端使用 SMB/CIFS 的方式。端口 445 在 TCP 服務(wù)上提供簡單的 SMB,它是訪問 Samba 服務(wù)器的新客戶端數(shù)。
由于這些職責(zé)的關(guān)鍵性質(zhì)(尤其是,提供文件和打印機(jī)共享及驗(yàn)證),smbd 可視為是 Samba 的核心。實(shí)際上,可以使用諸如 Samba 自己的 smbclient 等的程序連接到單獨(dú)運(yùn)行 smbd 的計(jì)算機(jī)以便執(zhí)行文件傳輸。然而一些客戶端依靠其他 Samba 守護(hù)程序提供的服務(wù)。
了解 nmbd
第二個(gè)關(guān)鍵的 Samba 守護(hù)程序是 nmbd。此服務(wù)器的主要職責(zé)是處理名稱相關(guān)的任務(wù)。您可以將其視為 Samba 自己版本的域名系統(tǒng)(DNS),只是它更易于配置且遠(yuǎn)沒有 DNS 復(fù)雜。nmbd 執(zhí)行的特定任務(wù)包括:
對名稱廣播進(jìn)行響應(yīng)。在操作的一個(gè)通用模式中,客戶端將名稱查詢廣播到整個(gè)網(wǎng)絡(luò)段。nmbd 服務(wù)器監(jiān)聽此類廣播,并且在 Samba 配置為使用正在查詢的名稱時(shí),該服務(wù)器將進(jìn)行響應(yīng)。在將其配置為另一計(jì)算機(jī)或網(wǎng)絡(luò)的代理時(shí),它也會(huì)響應(yīng)。
注冊 NetBIOS 名稱。為使 NetBIOS 名稱解析正常進(jìn)行,計(jì)算機(jī)必須注冊其名稱,通過集中的 NetBIOS 名稱服務(wù)器(NBNS;又名 Windows Internet 名稱服務(wù)(Windows Internet Name Service [WINS]) 服務(wù)器)或通過廣播名稱并作為整體與網(wǎng)絡(luò)協(xié)商其權(quán)利。nmbd 負(fù)責(zé)執(zhí)行此操作并與其他注冊名稱的計(jì)算機(jī)進(jìn)行協(xié)商。
作為 NBNS 服務(wù)器運(yùn)作。Samba 可被配置為 NBNS 系統(tǒng),在這種情況下,nmbd 可處理這些職責(zé)。
作為主瀏覽器運(yùn)行。用戶體驗(yàn) SMB/CIFS 網(wǎng)絡(luò)的一部分是瀏覽— 瀏覽網(wǎng)絡(luò)上的服務(wù)器的能力就像您瀏覽硬盤上的目錄。此功能依賴于主瀏覽器 的存在,它收集并傳播瀏覽列表。在 Samba 作為主瀏覽器運(yùn)行時(shí),它是從事此項(xiàng)工作的 nmbd。
正如此列表所示,nmbd 執(zhí)行很多工作。雖然它們不涉及提供文件或打印機(jī),但是許多任務(wù)都是任何 SMB/CIFS 服務(wù)器的重要部分,因此 nmbd 應(yīng)被認(rèn)為是 Samba 的重要部分。它通常通過分布的啟動(dòng)腳本與 smbd 一起運(yùn)行。
雖然大多數(shù) nmbd 的功能都需要將其綁定到 TCP 端口 137,但是主瀏覽器職責(zé)涉及用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol)端口 138。
了解 winbindd
第三個(gè) Samba 守護(hù)程序是 Winbind 守護(hù)程序,即 winbindd。不同于 smbd 和 nmbd,winbindd 不為遠(yuǎn)程計(jì)算機(jī)提供服務(wù);相反,它作為 Windows®(或 Samba)域控制器與本地計(jì)算機(jī)自己的可插拔驗(yàn)證模塊(Pluggable Authentication Modules)工具之間的接口,允許域控制器來托管 Linux 帳戶信息。
在許多分布上,winbindd 被安裝在與 Samba 的其余分布不同的包中 — 通常在稱為 winbind 或 winbindd 的包中。它還通常被分別發(fā)布。原則上,您可以在不運(yùn)行 Samba 服務(wù)器或或甚至用作 SMB/CIFS 客戶端的計(jì)算機(jī)上運(yùn)行 winbindd,除了 winbindd 是 SMB/CIFS 客戶端之外。不過,在實(shí)踐中,如果其正在運(yùn)行 winbindd,那么您可能運(yùn)行 Samba 服務(wù)器或使用 Linux 計(jì)算機(jī)作為 SMB/CIFS 客戶端。
設(shè)置您的安全模式
Samba 提供一些關(guān)于如何驗(yàn)證用戶的選項(xiàng)。最重要的是 security 選項(xiàng),它取五種可能的值:
Share。此安全模式嘗試模擬 Microsoft® Windows 9x/Windows Me 操作系統(tǒng)使用的驗(yàn)證方法,其中忽略用戶名且密碼與共享關(guān)聯(lián)在一起。要做到這一點(diǎn),Samba 嘗試將客戶端提供的密碼用于各種用戶名。
User。此安全模式是默認(rèn)的,它使用用戶名和密碼進(jìn)行驗(yàn)證,這類似于 Linux 通常工作的方式。在現(xiàn)在系統(tǒng)的大多數(shù)情況下,密碼存儲(chǔ)于僅 Samba 加密的密碼數(shù)據(jù)庫中。
Server。如果您想要 Samba 遵從另一個(gè)服務(wù)器進(jìn)行驗(yàn)證,請使用此驗(yàn)證方法。對于客戶端,雖然此方法看上去像用戶級驗(yàn)證,但是 Samba 聯(lián)系通過 password server 參數(shù)指定的服務(wù)器來進(jìn)行實(shí)際的驗(yàn)證。
Domain。使用此方法,您可以完全加入 Windows 域,其看上去像針對客戶端的用戶級驗(yàn)證。與服務(wù)器級別驗(yàn)證不同,域驗(yàn)證涉及更安全的域級別密碼交換。同時(shí),完全加入域需要在 Samba 系統(tǒng)上或也可能在域控制器上運(yùn)行額外的命令。
ADS。此驗(yàn)證方法工作非常像域驗(yàn)證;然而,其需要 Active Directory® Domain Services 域控制器。
作為一般規(guī)則,如果您的 Samba 服務(wù)器是 Windows 工作組(它是 SMB/CIFS 網(wǎng)絡(luò)的基本形式)的成員,那么用戶級驗(yàn)證是最佳的選擇。工作組不同于域,主要是因?yàn)橛蛱峁┯蚩刂破鳎菫橛蛱峁?yàn)證服務(wù)的服務(wù)器。要使用域控制器,您必須使用服務(wù)器級別、域級別或 ADS 級別 security。服務(wù)器級別安全是最簡單的配置但最不安全,而 ADS 級別安全最難于配置但最安全。
要完全加入域以獲得域級別或 ADS 級別安全的,您必須在 smb.conf 文件的 [global] 部分中設(shè)置幾個(gè)選項(xiàng):
password server = DOMCONT
domain logons = No
encrypt passwords = Yes
DOMCONT 系統(tǒng)是域控制器。您還必須在應(yīng)該加入域的 Samba 服務(wù)器上鍵入以下命令:
# net join member -U adminuser
您還可能需要配置域控制器以便接受 Samba 服務(wù)器到域中。
共享級別安全已經(jīng)過時(shí);它的存在主要是為了為舊的無法理解用戶名的客戶端提供兼容性。它對于一些您可能想提供最少安全的共享類型(如打印機(jī)共享)也是有用的。因?yàn)?Linux 需要帳戶用于所有訪問,所以 Samba 嘗試針對一系列帳戶而提供的密碼直到獲得一個(gè)匹配或它們都失敗。這些帳戶包括:
訪客帳戶(通過 guest account 參數(shù)設(shè)置),如果 guest only = Yes
客戶端提供的用戶名(不是所有客戶端都提供一個(gè),而是只有一些客戶端這樣做)
用于客戶端計(jì)算機(jī)的最后訪問的用戶名
被訪問的共享名稱
客戶端的 NetBIOS 名
通過 username 參數(shù)指定的任何用戶名
總結(jié)
以上是生活随笔為你收集整理的samba后台进程及安全模式简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java redis remove_最全
- 下一篇: storm apache java_Ap