Samba是一套使用SMB(Server Message Block)協(xié)議的應(yīng)用程序, 通過支持這個協(xié)議, Samba允許Linux服務(wù)器與Windows系統(tǒng)之間進(jìn)行通信,使跨平臺的互訪成為可能。Samba是在Linux及Unix上實(shí)現(xiàn)SMB(Server Message Block)協(xié)議的一個免費(fèi)軟件,由服務(wù)器及客戶端程序構(gòu)成。
Samba采用C/S模式, 其工作機(jī)制是讓NetBIOS( Windows 網(wǎng)上鄰居的通信協(xié)議)和SMB兩個協(xié)議運(yùn)行于TCP/IP通信協(xié)議之上,并且用NetBEUI協(xié)議讓W(xué)indows在“網(wǎng)上鄰居”中能瀏覽Linux服務(wù)器。
samba服務(wù)的搭建
客戶的使用系統(tǒng)的不同也導(dǎo)致測試結(jié)果的不同.
linux系統(tǒng)客戶端:
security = user or share
smbclient -L //192.168.7.113/westos 都是可以看到共享目錄的,
二者不同之處在于, security = user 時(shí)
[root@redhat samba]# smbclient //192.168.7.113/westos
Enter root's password:
Anonymous login successful //系統(tǒng)提示登錄samba服務(wù)成功,但是訪問westos共享目錄失敗,匿名用戶也是用戶。
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
tree connect failed: NT_STATUS_ACCESS_DENIED
security = share
[root@redhat samba]# smbclient //192.168.7.113/westos
Enter root's password:
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
Server not using user level security and no password supplied. //不是服務(wù)的有效用戶,雖然security = share,但是要支持密碼登陸。相當(dāng)于samba服務(wù)訪問都沒成功
tree connect failed: NT_STATUS_WRONG_PASSWORD
win的測試:
security = share 時(shí)
我們訪問samba服務(wù)時(shí),直接登陸成功,但是訪問目錄時(shí),提示要密碼。
security = user 時(shí),當(dāng)訪問samba服務(wù)時(shí)就開始要密碼,沒密碼不訪問。
有沒有這種感覺,linux和win的測試,貌似二者是相反的,剛好顛倒過。
Linux系統(tǒng)
當(dāng)Public =yes 時(shí):
security = user or share
匿名用戶登陸都將成功。
[root@redhat samba]# smbclient //192.168.7.113/westos
Enter root's password:
Anonymous login successful
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: > ^C
[root@redhat samba]# vim /etc/samba/smb.conf
[root@redhat samba]# /etc/init.d/smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@redhat samba]# smbclient //192.168.7.113/westos
Enter root's password:
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]
Server not using user level security and no password supplied.
smb: > ^C
win客戶端:
當(dāng)Public =yes 時(shí):
security = share
匿名用戶不需要密碼用戶名,直接登陸成功,訪問共享目錄也不需要密碼用戶名。
當(dāng)Public =yes 時(shí):
security = user
當(dāng)你訪問samba時(shí),直接就會要用戶名,密碼,登陸都不成功,何況看到共享目錄。
比較:
也就是說當(dāng)當(dāng)Public =yes 時(shí):linux客戶端就可以訪問共享目錄,不管security = user ro share.跟它都沒關(guān)系。Win客戶端只有security =share時(shí),匿名用戶才有權(quán)利去訪問共享目錄。
Samba的幾個主要配置文件(/etc/samba)
smb.conf:最主要的配置文件,分為[global]和[Share Definitions]兩個部分。
lmhosts:對應(yīng)NetBIOS Name與該主機(jī)的IP,一般Samba在啟動時(shí)就能捕捉到LAN中相關(guān)計(jì)算機(jī)NetBIOS Name對應(yīng)的IP,因此,這個配置文件一般不用設(shè)置。
smbpasswd:這個文件默認(rèn)不存在,它是Samba預(yù)設(shè)的使用者密碼對應(yīng)表。
Samba的幾個主要命令
smbpasswd:用來設(shè)置Samba用戶的帳號和密碼。
smbclient:用來查看別的Linux主機(jī)的共享。也可以在自己的Samba主機(jī)上使用,用來查看設(shè)置是否成功。
smbmount:用來將Samba服務(wù)器共享的文檔和目錄掛載到自己的Linux主機(jī)上。
testparm:用來檢查smb.conf是否有錯誤。
smb.conf的幾個常用變量
?、倏蛻舳俗兞?/p>
-----------------------------------------------------------------------------
%a | 客戶端的體系結(jié)構(gòu)(例如Samba,NT,Win98,或者Unknown)
%I | 客戶端的IP地址(例如:192.168.220.100)
%m | 客戶端的NetBios名
%M | 客戶端的DNS名
------------------------------------------------------------------------------
?、谟脩糇兞?/p>
------------------------------------------------------------------------------
%g | %u的基本組
%G | %U的基本組
%H | %u的Home目錄
%u | 當(dāng)前的unix用戶名
%U | 被請求的客戶端用戶名(不總是被samba使用)
------------------------------------------------------------------------------
?、酃蚕碜兞?/p>
------------------------------------------------------------------------------
%p | 如果和%p不同,automounter的路徑對應(yīng)共享的根目錄
%P | 當(dāng)前共享的根目錄
%S | 但前共享的名稱
-------------------------------------------------------------------------------
?、芊?wù)器變量
-------------------------------------------------------------------------------
%d | 當(dāng)前服務(wù)器進(jìn)程的ID
%h | Samba服務(wù)器的DNS主機(jī)名
%L | Samba服務(wù)器的netbios名
%N | Home目錄服務(wù)器,來自automount的映射
%v | samba版本
-------------------------------------------------------------------------------
?、萜渌兞?/p>
-------------------------------------------------------------------------------
%R | 經(jīng)過協(xié)商的SMB協(xié)議
%T | 當(dāng)前的日期和時(shí)間
四種安全等級
?、賡ecurity=share:用戶訪問Samba服務(wù)器不需要提供用戶名和口令, 安全性能較低。
?、趕ecurity=user:Samba服務(wù)器默認(rèn)的安全等級, 每一個共享目錄只能被一定的用戶訪問, 并由Samba服務(wù)器負(fù)責(zé)檢查賬號和密碼的正確性。