1. 程式人生 > >Linux下搭建SMB文件共享服務,Linux/Windows互聯互通

Linux下搭建SMB文件共享服務,Linux/Windows互聯互通

出現 lan 分別是 接下來 linux下 server 需要 init.d main

一丶簡介:
SMB協議是建立在NetBIOS協議之上的應用協議,是基於TCP138、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計算機上的共享資源了。

Samba使SMB協議運行在NetBIOS協議上,並且使用Windows的 NetBEUI協議讓Unix/Linux服務器 可以在Windows的網絡鄰居上被訪問到。

     Samba的守護進程
  1. smbd 監聽139 TCP端口 設置共享目錄、打印等
  1. nmbd 137. 138 UDP端口 管理群組、NetBIOS 等解析工作

二丶實驗拓撲

1.SMB服務器:192.168.1.1 Linux1
2.SMB客戶端:192.168.1.2 Linux2
3.SMB客戶端:192.168.1.3 Windows

服務器上部署:

關閉IPtables,保證互聯互通

知識點,samba 有四種安全級別,它們分別是:

share:用戶不需要用戶名和就可登陸samba 服務器

user:用戶需要輸入用戶名和密碼才可以登陸samba服務器

server:請自行查資料,不常用,略

domain:請自行查資料,不常用,略

[[email protected] ~]# yum -y install samba
[[email protected] ~]# 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,設置完成

[[email protected] ~]# mkdir /media/share
[[email protected] ~]# useradd sxs
[[email protected] ~]# chmod 755 /media/share
[[email protected] ~]# chown sxs.sxs /media/share
[[email protected] ~]# smbpasswd -a sxs
輸入兩次密碼
[[email protected] ~]# /etc/init.d/smb start 啟動相關服務
[[email protected] ~]# /etc/init.d/nmb start

由於selinux問題導致即使文件中允許了訪問,也無法實現實驗的目的

解決辦法:關閉selinux
[[email protected] ~]# setenforce 0 臨時關閉方法

另一解決辦法:開發selinux中關於開放samba的相關服務

[[email protected] ~]# 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

[[email protected] ~]#
#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上面再測試一下

[[email protected] ~]# yum -y install samba-client
[[email protected] ~]# 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,完成。

Linux下搭建SMB文件共享服務,Linux/Windows互聯互通