1. 程式人生 > 實用技巧 >Cent OS 6.X 上安裝配置samba

Cent OS 6.X 上安裝配置samba

一、基本簡介

SMB(Server Messages Block,資訊服務塊)是一種在區域網上共享檔案和印表機的一種通訊協議,它為區域網內的不同計算機之間提供檔案及印表機等資源的共享服務。SMB協議是客戶機/伺服器型協議,客戶機通過該協議可以訪問伺服器上的共享檔案系統、印表機及其他資源。通過設定“NetBIOS over TCP/IP”使得Samba不但能與區域網絡主機分享資源,還能與全世界的電腦分享資源。

二、SMB的由來

在早期網路世界當中,檔案資料在不同主機之間的傳輸大多是使用 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 的名稱由來。

三、軟體安裝配置

1、包的套件

samba -----samba伺服器程式的所有檔案

samba-common -----提供了Samba伺服器和客戶機中都必須使用的公共件

samba-client -----提供了Samba客戶機的所有檔案

samba-swat -----以Web介面的形式提供了對Samba伺服器的管理功能

2、建立samba使用者

#smbpasswd -a user1 “-a”是建立samba使用者,“-x”是刪)

3、修改配置檔案

samba配置檔案的位置:/etc/samba/smb.conf

vim /etc/samba/smb.conf

Samba伺服器的安全級別分為5種,分別是usershareserverdomainads。在設定不同的級別時,samba伺服器還會使用口令伺服器和加密口令。系統預設設定“user”

1、user -----客戶端訪問伺服器時需要輸入使用者名稱和密碼,通過驗證後,才能使用伺服器的共享資源。此級別使用加密的方式傳送密碼。

2、share -----客戶端連線伺服器時不需要輸入使用者名稱和密碼

3、server -----客戶端在訪問時同樣需要輸入使用者名稱和密碼,但是,密碼驗證需要密碼驗證伺服器來負責。

4、domain -----採用域控制器對使用者進行身份驗證

5、ads -----若samba伺服器加入到Windows活動目錄中,則使用ads安全級別,ads安全級別也必須指定口令伺服器

wKioL1RA3rKAcRP-AAFEXfBWDic930.jpg

4、共享目錄的配置

wKioL1RA34fyLMNNAADMmjPtn7g319.jpg

[homes] -----samba使用者的宿主目錄

comment = Home Directories -----設定共享的說明資訊

browseable = no -----目錄瀏覽許可權

writable = yes -----使用者對共享目錄可寫

這個共享目錄只有使用者本身可以使用,預設情況下,使用者主目錄位於/home目錄下,每個Linux使用者有一個以使用者名稱命名的子目錄。

以下是共享印表機的設定:

[printers] -----共享印表機

comment = All Printers -----設定共享的說明資訊

path = /var/spool/samba -----指定共享目錄的路徑

browseable = no -----目錄瀏覽許可權

guest ok = no -----允許來賓訪問

writable = no -----使用者對共享目錄可寫

printable = yes -----可以列印

以上是系統預設設定

新增自定義的共享目錄:( user1對/ASUS有所有權,user2擁有隻讀許可權,其他使用者不能訪問;public共享目錄允許所有使用者訪問及上傳檔案)

[ASUS]

comment = user1 Directories -----設定共享的說明資訊

browseable = yes -----所有samba使用者都可以看到該目錄

writable = yes -----使用者對共享目錄可寫

path = /ASUS -----指定共享目錄的路徑

[public]

comment = all user Directories -----設定共享的說明資訊

browseable = yes -----所有samba使用者都可以看到該目錄

writable = yes -----使用者對共享目錄可寫

path = /public -----指定共享目錄的路徑

guest ok = yes -----允許來賓訪問

write list = +mygroup 或@mygroup ------可以是一個組,也可以是多使用者用逗號隔開

5samba測試命令

Samba監控在udp的136 137 tcp的139 445埠上

Testparm: 測試配置檔案語法誤,並顯示最終生效的配置

6、使用GUI方式配置samba

安裝samba-swat: yum install samba-swat xinetd

Service xinted start

#vim /etc/xinetd.d/swat

disable = no

only_from = 準備開放IP訪問的地址

service xinted restart

測試訪問:ip:901

wKiom1RA3WfhVxDbAAOZizr9CLI955.jpg

轉載於:https://blog.51cto.com/icesnowfq/1565224