1. 程式人生 > >【Samba】CentOS 6.6 下Samba伺服器的安裝與配置

【Samba】CentOS 6.6 下Samba伺服器的安裝與配置

一、簡介

  Samba是一個能讓Linux系統應用Microsoft網路通訊協議的軟體,而SMB是Server Message Block的縮寫,即為伺服器訊息塊 ,SMB主要是作為Microsoft的網路通訊協議,後來Samba將SMB通訊協議應用到了Linux系統上,就形成了現在的Samba軟體。後來微軟又把 SMB 改名為 CIFS(Common Internet File System),即公共 Internet 檔案系統,並且加入了許多新的功能,這樣一來,使得Samba具有了更強大的功能。

  Samba最大的功能就是可以用於Linux與windows系統直接的檔案共享和列印共享,Samba既可以用於windows與Linux之間的檔案共享,也可以用於Linux與Linux之間的資源共享,由於NFS(網路檔案系統)可以很好的完成Linux與Linux之間的資料共享,因而 Samba較多的用在了Linux與windows之間的資料共享上面。

  SMB是基於客戶機/伺服器型的協議,因而一臺Samba伺服器既可以充當檔案共享伺服器,也可以充當一個Samba的客戶端,例如,一臺在Linux 下已經架設好的Samba伺服器,windows客戶端就可以通過SMB協議共享Samba伺服器上的資原始檔,同時,Samba伺服器也可以訪問網路中 其它windows系統或者Linux系統共享出來的檔案。
Samba在windows下使用的是NetBIOS協議,如果你要使用Linux下共享出來的檔案,請確認你的windows系統下是否安裝了NetBIOS協議。

  組成Samba執行的有兩個服務,一個是SMB,另一個是NMB;SMB是Samba 的核心啟動服務,主要負責建立 Linux Samba伺服器與Samba客戶機之間的對話, 驗證使用者身份並提供對檔案和列印系統的訪問,只有SMB服務啟動,才能實現檔案的共享,監聽139 TCP埠;而NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就只能通過IP來訪問共享檔案,監聽137和138 UDP埠。

  例如,某臺Samba伺服器的IP地址為10.0.0.163,對應的工作組名稱為davidsamba,那麼在Windows的IE瀏覽器輸入下面兩條指令都可以訪問共享檔案。其實這就是Windows下檢視Linux Samba伺服器共享檔案的方法。
  \10.0.0.163\共享目錄名稱
  \davidsamba\共享目錄名稱

  Samba伺服器可實現如下功能:WINS和DNS服務; 網路瀏覽服務; Linux和Windows域之間的認證和授權; UNICODE字符集和域名對映;滿足CIFS協議的UNIX共享等。

二、安裝Samba服務

1、 下載及安裝Samba

推薦用yum來安裝,這樣它可以自己解決包的依賴關係,省時、省事又方便。一條命令搞定:

  yum -y install samba

關閉防火牆
SELINUX=disabled

防火牆:
service iptables stop。
或者:
iptables -I RH-Firewall-1-INPUT 5 -m state –state NEW -m tcp -p tcp –dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state –state NEW -m tcp -p tcp –dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp –dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp –dport 138-j ACCEPT
iptables-save
service iptables restart

selinux:
setenforce 0
vi /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled為開機重啟後不再執行setenfore節約光陰。
或者:依次在命令列敲…
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on
完事兒之後再:getsebool -a | grep samba一把,你懂得…

2、 配置Samba

vim /etc/samba/smb.conf 檔案末尾新增:

 [koorey]
                comment = koorey
                path = /home/koorey
                writable = yes

建立共享目錄

mkdir -p /home/koorey

Linux中/etc/passwd裡的使用者和Samba裡的使用者幾乎沒啥關係,硬說有的話,那就是:Samba的所有使用者都必須是系統裡已存在的使用者。我們要授權系統使用者訪問Samba的話,通過命令:

smbpasswd -a zhangsan #新增使用者zhangsan到Samba使用者資料庫中

前提是,zhangsan這個使用者在Linux系統中已經存在。

這條命令輸入完後,會提示為新建的使用者koorey設定訪問密碼。最後再執行一下service smb restart命令就OK了。