Samba協議基礎linux
在NetBIOS出現以後,Microsoft就使用NetBIOS實現了一個網絡文件/打印服務系統,這個系統基於NetBIOS設定了一套文件共享協議,Microsoft稱之爲SMB(ServerMessage Block)協議。這個協議被Microsoft用於它們Lan Manager和WindowsNT服務器系統中,實現不一樣計算機之間共享打印機、串行口和通信抽象(如命名管道、郵件插槽等)。ios
隨着Internet的流行,Microsoft但願將這個協議擴展到Internet上去,成爲Internet上計算機之間相互共享數據的一種標準。所以它將原有的幾乎沒有多少技術文檔的SMB協議進行整理,從新命名爲 CIFS(Common InternetFile System),並打算將它與NetBIOS相脫離,試圖使它成爲Internet上的一個標準協議。web
所以,爲了讓Windows和Unix計算機相集成,最好的辦法便是在Unix計算機中安裝支持SMB/CIFS協議的軟件,這樣Windows客戶就不須要更改設置,就能如同使用WindowsNT服務器同樣,使用Unix計算機上的資源了。Samba是用來實現SMB的一種軟件,它的工做原理是,讓NETBIOS(Windows95網絡鄰居的通信協議)和SMB(ServerMessage Block)這兩個協議運行於TCP/IP通訊協議之上,而且使用Windows的NETBEUI協議讓Unix計算機能夠在網絡鄰居上被Windows計算機看到。windows
Samba的工做原理安全
SAMBA主要提供的是SMB/CIFS或者NETBIOS協議的。服務器
因此只要使用了SAMBA,就能實現讓Linux出如今Windows的網上鄰居里,或者,讓Windows的文件共享在Linux上--網絡
一旦在linux上安裝以後,有兩個主要進程:dom
1.nmbd :提供NETBIOS名稱解析的tcp
2.smdb : 提供文件共享的。ide
而因爲NETBIOS協議對於windows來說監聽TCP的139端口和UDP的137,138端口,因此nmbd在linux上模擬出了udp的137和138端口,以及tcp的139端口,smdb上模擬出tcp的445端口。而SAMBA將在Linux上同時監聽這4個端口。
Samba的安裝與配置
1、安裝
yum install samba
安裝完成後配置文件是放在/etc/samba/smb.conf
安裝完成後查看samba的包
yum list all | grep ^samba
samba-client.x86_64 3.6.23-43.el6_9 @updates
samba-common.x86_64 3.6.23-43.el6_9 @updates
這兩個是做爲客戶端使用的
samba.x86_64 3.6.23-43.el6_9 @updates
這個是做爲服務端使用
samba-swat-3.5.10-125.el6.x86_64 //基於https協議的samba服務器web配置界面
2、配置
配置文件主要有4個部分
1、全局配置【global】
2、家目錄 【homes】
3、獨立的共享【printer】
4、自定義
第一段分析【golbal】
Workgroup = MYGROUP 定義工做組
Server string = Samba Server Version %v
用於當你打開網上鄰居時顯示的註釋信息
netbios name = xxx 顯示在終端的名字
interfaces = lo eth0 192.168.12.2/24192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
定義訪問控制列表
Security = user
這一項很重要是用來定義SAMBA的服務安全級別,安全級別主要有4個
1、share:容許任何匿名用戶訪問
2、user:默認、每個用戶訪問時都須要提供帳號密碼
3、domain/server:
一般意味着用戶的帳號密碼在認證時時經過第三方集中
認證,而不是經過系統來認證,好比有專門的認證服務
器(ad域、nis等)
若是samba服務器加入windows域環境中,驗證工做服將由windows域控制器負責,domain級別的samba服務器只是成爲域的成員客戶端,並不具有服務器的特性,samba早期的版本就是使用此級別登陸windows域。
4、ads:經過主域控器來認證
passdb backend = tdbsam 全部的samba用戶認證方式
load printers = yes 是否去嘗試加載打印機
cups options = raw 通用打印系統,指定打印方式
當samba服務器使用ads安全級別加入到windows域環境中,其就具有了domain安全級別模式中全部的功能並能夠具有域控制器的功能。
第二段分析【homes】
comment = Homedirectories 註釋信息
browseable = no
瀏覽,若是這個用戶不是這個目錄的屬主,是否能夠看到這個目錄
no表示只有屬主才能看到
writable = yes 是否能夠新建文件夾,yes爲能夠no爲不能夠
第三段分析【printers】
comment = All printers
path = /var/spool/samba 打印池
browseable = no
guest ok = no 打印機是否公開
wirtable = no
printable = yes
第四段自定義分析【tools】中括號裏的表示共享名
comment = mytools 註釋
path = /share 共享目錄的路徑
browseable =yes 是否可瀏覽
guest ok =yes 是否容許來賓帳號
writable = yes 是否可寫
write list = xxx 定義一個列表決定用戶/或組是否可寫,定義組的時候
,須要用@組名