(原)CentOS Linux 下安裝Samba


一、Samba簡介
    samba是一個工具套件,在Unix上實現SMB(Server Message Block)協議,或者稱之為NETBIOS/LanManager協議。SMB協議通常是被windows系列用來實現磁盤和打印機共享。需要注意的是,NetBIOS是基於以太網廣播機制的,沒有透明網橋是不能跨越網段的,也許用WINS和LMHOSTS可以,但我沒試過。我感覺samba是把SMB綁定到TCP/IP上實現的,samba只在IP子網內廣播(很多時候我不得不指定IP地址:-()。所以在win95上與samba通訊既要裝NetBEUI協議,也要裝tcp/ip協議。

    在早期網絡世界當中,檔案數據在不同主機之間的傳輸大多是使用 FTP 這個好用的服務器軟件來進行傳送。不過,使用FTP 傳輸檔案卻有個小小的問題,那就您無法直接修改主機上面的檔案數據!也就是說您想要更改Linux 主機上的某個檔案時,必需要由 Server 端將該檔案下載到 Client端后才能修改,也因此該檔案在 Server 與 Client 端都會存在。這個時候,萬一如果有一天您修改了某個檔案,卻忘記將數據上傳回主機,那么等過了一陣子之后,如何知道那個檔案才是最新的?

    既然有這樣的問題,可不可以在 Client 端的機器上面直接取用Server 上面的檔案,如果可以在 Client 端直接進行 Server 端檔案的存取,那么在Client 端就不需要存在該檔案數據,也就是說,只要有 Server 上面的檔案資料存在就可以!有沒有這樣的檔案系統( File System )?很高興的是, NetworkFile System, NFS 就是這樣的檔案系統之一!我只要在 Client 端將 Server所提供分享的目錄掛載進來,那么在 Client 的機器上面就可以直接取用 Server上的檔案數據,而且,該數據就像 Client 端上面的partition 一般!而除了可以讓 Unix Like 的機器互相分享檔案的NFS 服務器之外,在微軟 ( Microsoft ) 上面也有類似的檔案系統,那就是 CommonInternet File System, CIFS 這個咚咚啦!CIFS 最簡單的想法就是目前常見的『網上鄰居』。Windows 系統的計算機可以透過桌面上『網上鄰居』來分享別人所提供的檔案數據。不過,NFS僅能讓 Unix 機器溝通, CIFS 只能讓 Windows 機器溝通。傷腦筋,那么有沒有讓Windows 與 Unix-Like 這兩個不同的平台相互分享檔案數據的檔案系統?

    1991 年一個名叫Andrew Tridgwell 的大學生就有這樣的困擾,他手上有三部機器,分別是跑DOS 的個人計算機、DEC公司的 Digital Unix 系統以及 Sun 的 Unix 系統。在當時,DEC 公司有發展出一套稱為 PATHWORKS 的軟件,這套軟件可以用來分享 DEC 的Unix 與個人計算機的 DOS 這兩個操作系統的檔案數據,可惜讓 Tridgwell 覺得較困擾的是,Sun的 Unix 無法藉由這個軟件來達到數據分享的目的。這個時候 Tridgwell 就想說:『咦!既然這兩部系統可以相互溝通,沒道理Sun 就必需這么苦命吧?可不可以將這兩部系統的運作原理找出來,然后讓 Sun這部機器也能夠分享檔案數據呢?』,為了解決這樣的的問題,這老兄就自行寫了個program 去偵測當 DOS 與 DEC 的 Unix 系統在進行數據分享傳送時所使用到的通訊協議信息,然后將這些重要的信息擷取下來,並且基於上述所找到的通訊協議而開發出ServerMessage Block (SMB) 這個檔案系統,而就是這套 SMB軟件能夠讓 Unix 與 DOS 互相的分享數據!( 注:再次的給他強調一次,在Unix Like 上面可以分享檔案數據的 file system 是 NFS,那么在 Windows 上面使用的『網絡鄰居』所使用的檔案系統則稱為Common Internet File System, CIFS )

    因此 Tridgwell就去申請了 SMBServer ( Server Message Block 的簡寫 ) 這個名字來做為他撰寫的這個軟件的商標,可惜的是,因為SMB 是沒有意義的文字,因此沒有辦法達成注冊。既然如此的話,那么能不能在字典里面找到相關的字詞可以做為商標來注冊呢?翻了老半天,呵呵!這個SAMBA剛好含有 SMB ,又是熱情有勁的拉丁舞蹈的名稱,不如就用這個名字來做為商標好了。如此,這成為我們今天所使用的SAMBA 的名稱由來。

二、系統環境

系統平台:CentO
防火牆已關閉/iptables: Firewall is not running.
SELINUX=disabled
如保關閉SELINUX:
    1、快速關閉SElinux,使用如下命令就可以:

#/usr/sbin/setenforce 0 立刻關閉 SELINUX

#/usr/sbin/setenforce 1 立刻啟用 SELINUX

2、加到系統默認啟動里面

#echo "/usr/sbin/setenforce 0" >> /etc/rc.local

    3、可以編輯配置文件達到同樣的目的

    #vi /etc/selinux/conf
    #set SELINUX=disabled
三、安裝Samba
1、在可以聯網的機器上使用yum工具安裝,如果未聯網,則掛載系統光盤進行安裝。

# yum install samba samba-client samba-swat
2、查看安裝狀況
#rpm -qa|grep samba
samba-winbind-3.6.9-151.el6.i686
samba-winbind-clients-3.6.9-151.el6.i686
samba-common-3.6.9-151.el6.i686              //主要提供samba服務器的設置文件與設置文件語法檢驗程序testparm
samba-client-3.6.9-151.el6.i686                   //客戶端軟件,主要提供linux主機作為客戶端時,所需要的工具指令集
samba-swat-3.6.9-151.el6.i686                    //基於https協議的samba服務器web配置界面
samba-3.6.9-151.el6.i686                           //服務器端軟件,主要提供samba服務器的守護程序,共享文檔,日志的輪替,開機默認選項

    Samba服務器安裝完畢,會生成配置文件目錄/etc/samba和其它一些samba可執行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的啟動/關閉文件。
3、啟動Samba服務器

#/etc/init.d/smb start
#/etc/init.d/nmb start

4、查看samba的服務啟動情況
#service smb status
5、設置開機自啟動
# chkconfig --level 35 smb on             //在3、5級別上自動運行samba服務
四、配置Samba
1、創建用戶組
#groupadd test
2、建立組用戶
#useradd -g test test
3、修改用戶密碼
#passwd test
4、在根目錄下建立要共享的文件夾
#cd /
#mkdir share
5、將剛才建立的兩個帳戶添加到samba的賬戶中
#smbpasswd -a test
6、修改主配置文件,加入下面內容Share Definitions中
#============================ Share Definitions ==============================
[test]                                                  
        comment = TEST
        path = /share
        writable = yes
        valid users = @test
        write list = @test

7、改一下文件所屬的用戶

chown -hR test /share

8、重起samba
#/etc/init.d/smb restart
#/etc/init.d/nmb restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM