Samba是面向Linux和Windows互操作性套件
很少有人在純Linux環(huán)境中工作。 Samba是用于Linux和Unix環(huán)境的Windows 互操作性套件。它面向在異構(gòu)環(huán)境(包括Linux,Unix,Windows,macOS和其他操作系統(tǒng))中工作的人員。
Samba使用服務(wù)器消息塊(SMB)協(xié)議,Windows系統(tǒng)使用該協(xié)議相互聯(lián)系。使用Samba,你可以讓Linux系統(tǒng)將驅(qū)動(dòng)器映射到Windows系統(tǒng),可以讓W(xué)indows系統(tǒng)將驅(qū)動(dòng)器映射到Linux系統(tǒng),不過(guò)后者的可能性大得多。
Samba讓你可以在Linux系統(tǒng)上模擬文件和打印服務(wù)。你可能并不完全了解這樣的系統(tǒng)能為你做什么,但簡(jiǎn)而言之,使用Samba創(chuàng)建基于Linux的文件和打印服務(wù)器,有望為你省錢并簡(jiǎn)化管理。
一、不需要域
不必實(shí)施Windows Active Directory(AD)域即可使用Samba文件和打印共享。如果你有域,也不必為了向Windows系統(tǒng)提供文件和打印服務(wù)而將Linux系統(tǒng)加入域。但需要做兩件事才能使這兩個(gè)操作系統(tǒng)無(wú)縫運(yùn)行,如同擁有一個(gè)AD域那樣:同步密碼,并匹配域或工作組名稱。
注意:我不反對(duì)AD域,相反支持AD域。我也是Windows管理員,明白擁有AD域的價(jià)值。如果你沒(méi)有AD域,或者不想將Linux系統(tǒng)加入域,有一些變通方法。
同步那些密碼
在沒(méi)有AD域的情況下實(shí)施Samba時(shí)你要做的一件事就是同步密碼。在Linux系統(tǒng)上,將密碼設(shè)為與Windows系統(tǒng)(或域)上使用的密碼為同一個(gè)。請(qǐng)記住,你得使用smbpasswd命令來(lái)這么做。passwd命令僅適用于Linux用戶帳戶,不影響Samba用戶的密碼。
添加Samba用戶實(shí)際上是兩個(gè)步驟的過(guò)程。首先要添加新用戶:
$ sudo smbpasswd -a mjones
其次需要啟用新用戶。這是最常被遺忘的步驟:
$ sudo smbpasswd -e mjones
之后,使用smbpasswd命令更改Samba用戶的密碼:
$ sudo smbpasswd mjones
有一種方法可以使用/etc/samba/smb.conf文件中的全局配置設(shè)置來(lái)同步用戶和密碼,但是該選項(xiàng)不在本文探討的范圍。
匹配域或工作組名稱
設(shè)置Samba時(shí),使用Windows系統(tǒng)使用的域或工作組名稱。默認(rèn)工作組名稱(SAMBA)在Windows環(huán)境中可能沒(méi)有用。匹配名稱將幫助你瀏覽Windows系統(tǒng),允許Windows系統(tǒng)順暢無(wú)阻地瀏覽Linux系統(tǒng)的共享區(qū)。
啟用了Samba的Linux系統(tǒng)還會(huì)出現(xiàn)在域計(jì)算機(jī)的瀏覽列表中。不過(guò)由于該系統(tǒng)不是正式的域成員,因此Windows管理員無(wú)法以任何方式執(zhí)行策略或管理系統(tǒng)。提醒一下,應(yīng)獲得以這種方式配置Linux系統(tǒng)的權(quán)限。
二、啟用Samba的Linux系統(tǒng)看起來(lái)像Windows系統(tǒng)
如果你的網(wǎng)絡(luò)上有正確配置的啟用Samba的Linux系統(tǒng),很難將它與Windows系統(tǒng)區(qū)分開來(lái)。你甚至可以模仿所選擇的Windows版本,讓Linux系統(tǒng)報(bào)告自己是Windows系統(tǒng)。大多數(shù)用戶不會(huì)知道有何區(qū)別,也不會(huì)關(guān)心在網(wǎng)絡(luò)瀏覽器中看到的一個(gè)或多個(gè)系統(tǒng)運(yùn)行Linux。
將驅(qū)動(dòng)器映射到Samba共享區(qū)
若沒(méi)有AD域,你要?jiǎng)?chuàng)建一個(gè)CMD(比如LOGIN.CMD)文件,并將其放入每個(gè)用戶的Startup文件夾中,該文件夾將驅(qū)動(dòng)器映射到Linux Samba文件服務(wù)器。優(yōu)秀的Windows管理員可以實(shí)現(xiàn)映射的驅(qū)動(dòng)器,無(wú)需接觸每個(gè)系統(tǒng)。簡(jiǎn)單的PowerShell腳本可以將CMD文件部署到網(wǎng)絡(luò)上的每個(gè)Windows系統(tǒng)。如果你有域,可以創(chuàng)建組策略,將驅(qū)動(dòng)器映射到系統(tǒng)及其共享區(qū)。在這兩種情況下,假設(shè)你的Linux文件服務(wù)器名為FS1,并且有兩個(gè)共享區(qū):Public和Projects。以平常的方式從Windows計(jì)算機(jī)映射驅(qū)動(dòng)器:
NET USE P: \\FS1\PublicNET USE Q: \\FS1\Projects
如果一切設(shè)置正確,驅(qū)動(dòng)器將會(huì)映射,沒(méi)有密碼提示,就像你使用Windows文件服務(wù)器一樣。標(biāo)準(zhǔn)共享區(qū)可鎖定起來(lái),供特定的用戶或組使用。Public驅(qū)動(dòng)器之類的共享區(qū)通常對(duì)所有人開放,可以讀取寫入。
管理共享區(qū)不包括在內(nèi)
Windows管理員會(huì)注意到,他們心愛的管理共享區(qū)(C$和D$等)在Samba中不存在,也不應(yīng)該存在。當(dāng)然,你可以創(chuàng)建管理共享區(qū),但除非你出于某個(gè)原因想要破壞Linux系統(tǒng)的安全性,否則就沒(méi)有理由這么做。
打印機(jī)共享/服務(wù)
通過(guò)Samba設(shè)置打印機(jī)共享是相當(dāng)復(fù)雜的過(guò)程。你得為Windows驅(qū)動(dòng)程序和spooling打印作業(yè)創(chuàng)建共享區(qū),必須單獨(dú)共享每臺(tái)打印機(jī)。正確設(shè)置后,Samba打印機(jī)共享或服務(wù)效果很好。進(jìn)行這項(xiàng)設(shè)置時(shí)務(wù)必要耐心,因?yàn)橄啾萕indows服務(wù)器的安裝設(shè)置(幾乎是自動(dòng)的),其安裝設(shè)置可能令人沮喪。
三、可選的Samba功能和部署
使用Samba,你的Linux系統(tǒng)可能變成沒(méi)有任何商業(yè)軟件的瀏覽主機(jī)、域控制器或域成員。當(dāng)然,功能列表永遠(yuǎn)無(wú)法完全與實(shí)際的Windows服務(wù)器相比,但出于節(jié)省成本和總體設(shè)置簡(jiǎn)便的考慮,想與Windows系統(tǒng)集成,選擇Samba不會(huì)出錯(cuò)。
想使用Windows,只需創(chuàng)建啟用Samba的Linux。換句話說(shuō),一旦你設(shè)置、配置和運(yùn)行了Samba,無(wú)需在Windows系統(tǒng)中執(zhí)行任何特殊操作。從這個(gè)角度來(lái)看,Samba易于實(shí)現(xiàn),唯一部署的是你期望從Windows服務(wù)器獲得的東西,因?yàn)椴挥冒惭b第三方代理,也不需要特殊配置就可以使用Samba服務(wù)器。
注意:由于在Windows網(wǎng)絡(luò)上瀏覽的方式,共享區(qū)和系統(tǒng)可能在長(zhǎng)達(dá)45分鐘的時(shí)間不會(huì)顯示。耐心點(diǎn),共享區(qū)和系統(tǒng)沒(méi)有立即出現(xiàn)在瀏覽列表中時(shí)別以為出了什么岔子。
四、小結(jié)
多年來(lái),IT管理員提供了跨公司網(wǎng)絡(luò)集成Windows和Linux / Unix系統(tǒng)的工具。 用于Windows的NFS軟件、用于Windows的終端仿真軟件、FTP客戶端軟件和SSH客戶端軟件是Windows系統(tǒng)上提供的用于與這些系統(tǒng)通信的常用工具,而Samba幾乎可以立即使用。 Samba只需很少的計(jì)算即可運(yùn)行,您可以使用任何Linux系統(tǒng)。 Samba于1992年首次發(fā)布,并被證明適用于現(xiàn)代網(wǎng)絡(luò)。 它為異構(gòu)環(huán)境提供免費(fèi)的互操作性。