一丶簡介:
SMB協議是創建在NetBIOS協議之上的應用協議,是基於TCP13八、139兩個端口的服務,NetBIOS出現以後,Microsoft就使用NetBIOS實現了一個網絡文件/打印服務系統。這個系統基於NetBIOS設定了一套文件共享協議,Microsoft稱之爲SMB(Server Message Block) 協議,這個協議被用於Lan Manager和Windows服務器系統中,實現不一樣計算機之間共享 打印機和文件等。所以,爲了讓Windows和Unix/Linux計算機相集成,最好的辦法就是在 Unix/Linux計算機中安裝支持SMB協議的軟件。這樣使用Windows的客戶端不須要更改設置, 就能像使用Windows NT或Windows 2000服務器同樣,使用Unix/Linux計算機上的共享資源了。linux
Samba使SMB協議運行在NetBIOS協議上,而且使用Windows的 NetBEUI協議讓Unix/Linux服務器 能夠在Windows的網絡鄰居上被訪問到。vim
Samba的守護進程
二丶實驗拓撲安全
1.SMB服務器:192.168.1.1 Linux1
2.SMB客戶端:192.168.1.2 Linux2
3.SMB客戶端:192.168.1.3 Windows服務器
服務器上部署:網絡
關閉IPtables,保證互聯互通app
知識點,samba 有四種安全級別,它們分別是:dom
share:用戶不須要用戶名和就可登錄samba 服務器ide
user:用戶須要輸入用戶名和密碼才能夠登錄samba服務器測試
server:請自行查資料,不經常使用,略code
domain:請自行查資料,不經常使用,略
[root@192.168.1.1 ~]# yum -y install samba
[root@192.168.1.1 ~]# vim /etc/samba/smb.conf
查找[Global]區域下 workgroup = WORKGROUP 修改成Windows下組名稱
security = user
下面自行添加一個區域
[share] 共享名稱
comment = sxs share 描述信息
path = /media/share 共享路徑
guest ok = no 是否容許guest訪問
browseable = yes 是否顯示共享目錄
writable = yes 是否容許寫入
write list = sxs 容許寫入的用戶 ,@爲組
可選項
//host allow = 192.168.80. 192.168.70. //容許訪問服務器的主機
//client code page = 939 //支持簡體中文共享名
ok,設置完成
[root@192.168.1.1 ~]# mkdir /media/share
[root@192.168.1.1 ~]# useradd sxs
[root@192.168.1.1 ~]# chmod 755 /media/share
[root@192.168.1.1 ~]# chown sxs.sxs /media/share
[root@192.168.1.1 ~]# smbpasswd -a sxs
輸入兩次密碼
[root@192.168.1.1 ~]# /etc/init.d/smb start 啓動相關服務
[root@192.168.1.1 ~]# /etc/init.d/nmb start
因爲selinux問題致使即便文件中容許了訪問,也沒法實現實驗的目的
解決辦法:關閉selinux
[root@192.168.1.1 ~]# setenforce 0 臨時關閉方法
另外一解決辦法:開發selinux中關於開放samba的相關服務
[root@192.168.1.1 ~]# getsebool -a | grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
[root@192.168.1.1 ~]#
#setsebool –P samba_enable_home_dir on
#setsebool –P samba_export_all_ro on
#setsebool –P samba_export_all_rw on
接下來Windows上面測試輸入:\192.168.1.1\share 測試進入該共享目錄,及寫入無問題
Linux上面再測試一下
[root@192.168.1.2 ~]# yum -y install samba-client
[root@192.168.1.2 ~]# smbclient //192.168.1.1/share -U sxs
Enter sxs's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \>
OK,完成。