Linux中搭建samba伺服器全攻略(centos版)
前言
smb是一個協議名,它能被用於Web連線和客戶端與伺服器之間的資訊溝通。SMB最初是IBM的貝瑞·費根鮑姆(Barry Feigenbaum)研製的,其目的是將DOS作業系統中的本地檔案介面“中斷13”改造為網路檔案系統。
smb服務簡介
後來微軟對這個發展進行了重大更改,這個更改後的版本也是最常見的版本。微軟將SMB協議與它和3Com一起發展的網路管理程式結合在一起,並在Windows for Workgroups和後來的Windows版本中不斷加入新的功能。
SMB一開始的設計是在NetBIOS協議上執行的(而NetBIOS本身則執行在NetBEUI、IPX/SPX或TCP/IP協議上),Windows 2000引入了SMB直接在TCP/IP上執行的功能。在這裡我們必須區分SMB協議和執行在這個協議上的SMB業務,以及NetBIOS和使用SMB作為認證隧道的DCE/RPC業務。此外我們還要區分主要(但不僅僅)直接使用NetBIOS資料報的“網路鄰居”協議。
1996年,Sun推出WebNFS的同時[1],微軟提出將SMB改稱為Common Internet File System[2]。此外微軟還加入了許多新的功能,比如符號連結、硬連結、提高檔案的大小。微軟還試圖支援直接聯絡,不依靠NetBIOS,不過這個試圖依然處於嘗試階段,並需要繼續完善。微軟向網際網路工程工作小組提出了部分定義作為網際網路草案[3]。不過這些提案現在均已過期。
由於SMB協議對於與佔主要地位的Microsoft Windows平臺通訊時的重要性,而目前該平臺使用的SMB協議與初始的版本相比有巨大的改變,因此Samba專案就是被創立來逆向工程來提供一個與SMB軟體相容的自由軟體,使得非微軟作業系統也能夠使用它。
在Windows Vista中微軟又推出了Server Message Block 2.0。
【1】在安裝前,確保
(1)防火牆已關閉:使用命令
#systemctl stop iptables.service
如果出現錯誤警告 “Failed to stop iptables.service: Unit iptables.service not loaded.”則表示還沒安裝防火牆
(1-1)安裝防火牆:(題外:在安裝的時候不能聯網,出現了提示 network is unreachable ,需要重啟網路 service network restart )
使用指令 :
#yum install iptables-services
安裝完成後設定
#systemctl stop iptables
(2)關閉SELINUX(檢視SELINUX狀態:#getenforce)
(2-1)編輯配置檔案
vi /etc/sysconfig/selinux , 把裡邊的一行改為 SELINUX=disabled
(2-2)使用setenforce命令設定臨時關閉
setenforce 0
【2】安裝samba
yum install samba samba-client samba-swat
檢視安裝情況: rpm -qa|grep samba
Samba伺服器安裝完畢,會生成配置檔案目錄 /etc/samba 和其他一些samba可執行命令工具
(1) /etc/samba/smb.conf 是samba的核心配置檔案
(2) /etc/init.d/smb 是samba的啟動/關閉檔案
【3】配置檔案smb.conf 並建立使用者
(3-1)配置(在Share Definitions項下新增[tmp]配置資訊)
(3-2)建立使用者(e.g. 建立使用者名稱為apache的使用者)
#smbpasswd -a apache
修改完後,重啟samba,關閉防火牆,增加使用者許可權,否則無法在共享目錄建立檔案和資料夾
【4】Windows對Linux進行對映
開啟我的電腦 -> 對映網路驅動器 -> 在資料夾欄輸入 “ \虛擬機器ip mp ” ( tmp為配置檔案中設定的資料夾 ) -> 在彈出的視窗中填寫建立的samba使用者名稱和密碼 -> 進入共享目錄 ( 此處共享目錄為www下的html目錄 )
*可能會出現的“Windows 無法訪問\ip addr\tmp”的錯誤,即windows無法訪問虛擬機器系統
點選診斷檢視問題,顯示虛擬機器沒有響應
可能是虛擬機器的防火牆沒成功關閉,使用以下指令
#systemctl stop firewalld.service