一、定義
samba是在linux和unix系統上實作smb協定的一個免費軟體,由伺服器及用戶端程式構成。smb(server messages block,資訊服務塊)是一種在區域網路上共享檔案和列印機的一種通信協定,它為區域網路内的不同計算機之間提供檔案及列印機等資源的共享服務。smb協定是客戶機/伺服器型協定,客戶機通過該協定可以通路伺服器上的共享檔案系統、列印機及其他資源。通過設定“netbios over tcp/ip”使得samba不但能與區域網路絡主機分享資源,還能與全世界的電腦分享資源。
二、配置檔案
1、端口
137/udp,138/udp,139/tcp,445/tcp
2、資料通路
(1)互動式資料通路
smbclient -l host -u username
擷取到共享資訊後:
#smbclint //172.16.26.67/tools -u test
#lcd /etc #切換目錄
#put fstab #上傳
(2)基于挂載方式通路
mount -t cifs //server/shared_name /mount_point -o username=username,password=password
#mount -t cifs //172.16.26.67/tools /mnt -o username=test
3、服務腳本
/etc/rc.d/init.d/nmb
/etc/rc.d/init.d/smb
4、啟動服務
#service nmb start
#service smb start
5、主配置檔案
/etc/samba/smb.conf
6、配置檔案
smb.conf
全局設定:global settings
workgroup = workgroup | mygroup
netbios name = nmae
server string = samba server version %v #顯示samba版本
netbios name = smbserver #定義網絡共享名稱
interfaces = lo etho ip #監聽ip位址段
hosts allow = 127. 192.168.12. 192.168.13. #允許通路的ip位址段
特定共享的設定
私有家目錄
列印機共享
自定義共享
自定義共享
[shared_name]
comment = home directories #注釋
browseable = yes|no # 是否允許通路
path = /path/to/share-directory #samba共享目錄
guest ok = yes|no #是否允許來賓賬号通路
public = yes|no #是否公開
writable = yes|no #是否可寫
read only = yes|no #是否可讀
write list = +group_name #可寫使用者清單
三、執行個體
建立samba共享,共享目錄為/data,要求
1.共享名為shared,工作組為magedu,可以被浏覽
2.添加組develop,添加使用者gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組,密碼均為使用者名
3.添加samba使用者gentoo,centos和ubuntu,密碼都為”mageedu“
4.此samba共享shared僅允許develop組具有寫權限,其它使用者隻能以隻讀方式通路
5.此samba共享服務僅允許來自于172.16.0.0/16網絡的主機通路