天天看點

<實戰>在centos中架設samba伺服器,并通過windows平台通路

引入:

最近audit别的團隊時候發現使用了samba用于跨平台的檔案共享,剛好我手裡剛申請了一台CentOS機器,是以我就想搭建一個samba伺服器玩玩,我看到51cto上已經出了一個專題:

http://os.51cto.com/art/200512/12843.htm

專門講解samba的有關知識,收益匪淺,掌握基本原理後,小實踐了一把,還是很順利的,20分鐘就KO了。

實踐:

Part 1: 基本安裝

首先還是用yum install來安裝samba.

<實戰>在centos中架設samba伺服器,并通過windows平台通路

這裡會自動解析依賴關系。

一路選擇Y,最後samba及其依賴包都被安裝了:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

現在我們就啟動samba:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

确認samba服務已經開啟:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

Part2: 配置samba伺服器

vi  /etc/samba/smb.conf

首先配置[global]部分,它給出了全局設定

workgroup是配置在某個工作組中,如果區域網路通路最好讓所有機器在同一個工作組

hosts allow 配置了哪些主機是可以通路這個samba伺服器的,因為我隻想本地或者區域網路通路,而區域網路的ip位址字首都是192.168。

最終配置如下:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

下面配置[homes]部分,它主要是對于samba使用者通過什麼規則,限制來通路自己的主目錄

browseable設為yes,writable設為yes 表明登入的samba使用者既可以讀也可以寫自己的主目錄

<實戰>在centos中架設samba伺服器,并通過windows平台通路

共享列印機服務我們暫時不用是以不配置了。

下面配置[netlogon]部分:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

因為預設samba使用者隻能通路自己目錄,為了讓多個使用者共享通路某個目錄,我們配置[public]部分:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

下面,我們用testparm指令來測試我們的配置是否正确:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

這裡出現了 “Loaded services file OK ”字樣,說明我們配置完全正确。

我們重新開機samba讓其生效。

<實戰>在centos中架設samba伺服器,并通過windows平台通路

Part 3: 關閉CentOS防火牆

當我在我自己desktop(裝的windows XP)  嘗試去通路samba伺服器時候,提示以下問題:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

很簡單,這個問題我們經常遇到,因為我們拿到的是新裝的CentOS系統,而預設防火牆是開着的,是以我們将其關閉即可:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

這次可以通路這個機器了,但是提示輸入使用者/密碼:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

Part 4: 建立samba賬号和密碼用于通路:

檢視相關文章得知,通路samba伺服器的賬戶必須是一個samba伺服器所在的作業系統管理的某賬戶。為此,添加一個系統賬戶(假設我們建立名字叫samba):

<實戰>在centos中架設samba伺服器,并通過windows平台通路

我們為這個建立的系統賬戶,将其作為samba伺服器賬戶,為其建立samba密碼(假設我們這裡設的密碼是samba_password):

<實戰>在centos中架設samba伺服器,并通過windows平台通路

直到顯示"Added user samba"才算成功。

重新開機samba伺服器,再從windows系統登入(samba/samba_password)這台samba伺服器,果然成功了:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

Part 5: 關閉centos對于安全管理的限制

在我們成功登入到192.168.71.43之後,當我們通路samba目錄時候,我們被拒絕了:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

這就奇怪了,我們明明在smb.conf中的[homes]子產品配置了browsable=yes,還配置了valid user,為什麼不讓我們通路呢?這個困擾了我一段時間,後來找到原因了,原來centos下面有個selinux子產品,它增加了centos的通路安全控制:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

此檔案中預設的SELINUX被設定為enforcing,表明預設啟用安全控制,是以阻止了 windows系統通路這個centos系統的檔案資源,我們将其設為disabled來禁用這個安全管理,如下:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

儲存後重新啟動centos系統,再通過windows通路。這次我們終于成功的用samba使用者名登入,并且可以通路samba伺服器上對應的samba目錄(home directory)中的資源了:

<實戰>在centos中架設samba伺服器,并通過windows平台通路

繼續閱讀