天天看點

CentOS Samba伺服器的搭建與配置(share共享模式)

Samba服務介紹

      在早期的網絡世界當中,檔案資料在不同主機之間的傳輸大多是使用 ftp 這個好用的伺服器軟體來進行傳送。不過使用 FTP 傳輸檔案卻有個小小的問題, 那就是你無法直接修改主機上面的檔案資料!也就是說,你想要更改 Linux 主機上面的某個檔案時,你必須要将該檔案自伺服器下載下傳後才能修改。 也是以該檔案在伺服器與用戶端都會存在。這個時候,萬一如果有一天你修改了某個檔案, 卻忘記将資料上傳回主機,那麼等過了一陣子之後,呵呵,你如何知道那個檔案才是最新的?

      簡單來說,ftp是作為一個檔案傳輸的工具,而samba服務就是實作一個檔案實時共享的一個服務。在平常工作中,我們一般實作平台之間檔案共享的場景有如下幾種:Linux伺服器-->Linux伺服器,Linux伺服器-->Windows伺服器,Windows-->Linux伺服器。既然場景不同,尤其是跨平台的檔案共享,就必須選擇正确的服務。

      一般情況,我們選擇以下幾個服務來解決以上的問題:

Linux伺服器的檔案共享給Linux伺服器:NFS服務

Linux伺服器的檔案共享給Windows伺服器:Samba服務

Windows伺服器的檔案共享給Linux伺服器:這裡可以直接采用将windows的共享檔案路徑挂載至Linux的目錄下,即可通路Windows下的檔案(這裡不得不小小地吐槽一下Windows機器。。)

共享模式的配置(無需賬戶密碼)

    在這個模式中,如果在區域網路内足夠安全,或者不是特别重要的檔案的互訪,那麼這個模式的配置是十分簡單和迅速的。下面開始配置。

【1】安裝samba服務

#yum install samba -y

【2】修改配置檔案

# cd /etc/samba

# cp smb.conf smb.conf.bak 備份一份再說

# vim smb.conf 把多餘的注釋去掉,增加如下的配置

# 先設定好伺服器整體環境方面的參數

[global]

# 與主機名有關的設定資訊

workgroup    = WORKGROUP #要和windows在一個工作組裡 

netbios name  = xiao

server string = This is Yumi's samba server

# 與登入檔案有關的設定項目,注意變量 (%m)

log file = /var/log/samba/log.%m

max log size = 50

# 這裡才是與密碼有關的設定項目!

security = share

# 分享的資源設定方面:

[temp]                            #分享資源名稱

comment   = Temporary file space  #簡單的解釋此資源

path      = /tmp                  #實際 Linux 分享的目錄

writable  = yes                   #是否可寫入?在此例為是的

browseable = yes                  #能不能被浏覽到資源名稱

guest ok  = yes                   #單純分享時,讓使用者随意登入的設定值

修改完成後,儲存退出。

【3】testparm 檢查 smb.conf 的文法是否正确

#testparm

當出現有一下這句話時Loaded services file OK.說明目前配置正确,如有錯誤根據提示修改直到無誤。

【4】啟動服務并檢視端口

#/etc/init.d/smb start

#netstat -tplnu | grep smb

tcp        0      0 0.0.0.0:445                0.0.0.0:*                  LISTEN      6604/smbd          

tcp        0      0 0.0.0.0:139                0.0.0.0:*                  LISTEN      6604/smbd          

tcp        0      0 :::445                      :::*                        LISTEN      6604/smbd          

tcp        0      0 :::139                      :::*                        LISTEN      6604/smbd

預設的139和445端口起來就啟動成功了

【5】設定SMB開機自動啟動

#chkconfig smb on

=========================================================================================

以下為故障及解決方法:(沒有問題的同學人品杠杠滴,恭喜恭喜)

samba檔案伺服器可以通過\\IP通路samba伺服器,

現在想通過\\主機名通路,提示"找不到網絡路徑".怎麼辦?

一、服務端:

Samba的核心是兩個守護程序smbd和nmbd,伺服器啟動到停止期間持續運作。smbd監聽139 TCP端口;nmbd監聽137和138 UDP端口。smbd和nmbd使用的全部配置資訊全都儲存在smb.conf檔案中。smb.conf向smbd和nmbd兩個守護程序說明輸出什麼、共享輸出給誰及如何進行輸出以便共享。smbd程序的作用是處理到來的SMB資料包,為使用該資料包的資源與Unix 進行協商,nmbd程序使其他主機(或工作站)能浏覽Unix伺服器。

首先設定成開機啟動smb 和nmb

1 要想開機啟動某個服務怎麼設定?~!

chkconfig smb on

chkconfig --level 35 smb on

chkconfig nmb on

chkconfig --level 35 nmb on

2.如圖:

<a href="http://img1.51cto.com/attachment/201312/135340370.jpg" target="_blank"></a>

把netbios name = ""設定好

<a href="http://img1.51cto.com/attachment/201312/135539850.jpg" target="_blank"></a>

一、用戶端:

看看區域網路中其它機器有沒有相同的問題。

看看這台電腦日志裡面是怎麼寫的,盡量不要盲目而動。

工作組模式看看是否在同一組内。

我的電腦——右鍵管理——服務——“Computer Browser”看看這個服務有沒有啟動。

網路上的芳鄰——屬性——本地連接配接——屬性——“網絡的檔案和列印機共享”看看這個服務有沒安裝。

網路上的芳鄰——屬性——本地連接配接——屬性——TCP/IP——進階——WINS——“啟用了TCP/IP上的NETBIOS”

檢查一下确認啟動。

控制台——防火牆

控制台——管理工具——本地安全政策——IP安全政策

檢查有沒有傻乎乎的開防火牆。

開始——運作——cmd.exe 進入指令行模式。

輸入nbtstat -c 這個指令可以清空名稱緩存。

輸入nbtstat -n 這個指令可以列出名稱清單

輸入nbtstat -a 對方的IP 強制查詢對方的機器名 如 nbtstat -a 192.168.0.13

然後就可以用計算機名通路了

一般的情況下隻需要進行到第四步就能解決問題了,我檢查前四步裡面的設定都沒有問題,一直進行到第五步才将問題解決,我當時的情況是用一要網線直接将兩台電腦連接配接起來的,設定上IP以後我就直接進行通路了,然後就發現隻能用IP進行通路,不能用計算機名通路共享。在這裡一定要注意的是看重新開機以後還能不能用計算機名通路,如果還是不可以通路的話建議你隻能重新系統了。

本文轉自younger00851CTO部落格,原文連結: http://blog.51cto.com/younger008/1903138,如需轉載請自行聯系原作者

繼續閱讀