2010年8月14日 星期六

linux在webmin設定samba產生問題的解決經驗。

說實在的,對於linux的強大可塑性,非專業的我實在無心於完全的了解,所以就想用一些圖形介面來操作設定相關的服務,也因而在架好centos5之後,隨即安裝起webmin 這套圖形介面的管理程式,而samba原是在安裝centos5之時即選擇的服務,理論上也應該在安裝好之後透過webmin裏的「samba視窗檔案分享」的正確設定之後即可正常服務才對(圖1) ,samba的安全等級(圖2)有幾個選項,有共用級別、使用者級別、密碼伺服器、網域.....等選項,而就我所知一般密碼伺服器及網域等均必須有另外一台專門做為相關服務的伺服器配合,才能做到,也就是說,通常單一電腦所做的選項僅能以共用級別使用

者級別,其中共用級別的安全設定是windows主機連上samba伺服器所分享出來的資料夾時,不用輸入使用者帳號與密碼,而使用者級別則必須是samba伺服器上建立的使用者以其帳號密碼登入之後才能連上,進而使用該資料夾。

image image

(圖1)

(圖2)

 

理論上,要連上samba伺服器分享的資料夾,其使用的帳號除了必須是linux系統本身即有之帳號外,還必須在samba伺服器上也建立其帳號,如此才能真正在使用者級別時以帳號連上分享出來的資料夾。而webmin似乎沒有單獨建立samba帳號的選項,只能選擇「轉換Unix使用者到samba使用者」(圖3~4)。而也如預期的,我linux系統裡除了特定的系統內建帳號之外,其餘我自立之帳號均被轉建為samba的使用者(圖5)。

image image
(圖3) (圖4)

  

image image
(圖6)
(圖5)  

 

image image
(圖7) (圖8)

然而,就像我前面提到的條件:透過 webmin的正確設定之後理論上即可正常服務才對,當我開始用samba建立分享資料夾時(圖6~8),  但我確一直只能在全域設定的windows網路安全級等級選擇共用級別的情況下,不用輸入帳號密號的情況下才能使用,只要我選擇使用者級別(圖9),在windows端新增連線網路磁碟機時則會跳出要我輸入密碼的畫面。

image image
(圖10)
(圖9)  
image image
(圖12)
(圖11)  
image
(圖13)
image
  (圖14)

然而不管我輸入之前透過轉換Unix使用者到samba使用者(圖10)這個選項時,將系統中的使用者直接建立為samba使用者所建立的samba帳號 ,它卻總是只跳出如圖11的畫面。起初我以為是密碼的問題(因為曾經遇過系統因為自動加密的關係而始得原來自己所輸入的密碼被編碼而無法登入),所以想要進入修改密碼(圖12~14) 然而卻又不讓我更改密碼(圖15)!

image image
(圖15) (圖16)

最後只好試著透ssh,以該身份登入,直接打入smbpasswd,去改samba的密碼時,卻出現如下訊息

Could not connect to machine 127.0.0.1: NT_STATUS_LOGON_FAILURE
Failed to change password for .....。

再查一下網路上的資料,有人提到應該是samba裏沒有該帳號所致,必須先以管理員身份登入,而後在smbpasswd指令後加入-a參數加打入要新增的帳號,我心裡滿是懷疑的(因為明明在webmin的samba裡就有看到該帳號,要也應該是密碼的問題)照作一次

結果就把我要建立的帳號加在smbpasswd –a之後,而打入smbpasswd –a xxxxx而出現如圖16的畫面。

之後我再回到windows去新增連線網路磁碟機時,且在samba的全域設定裏設為使用者級別,登入時同樣要求我鍵入帳號密碼,而這樣就可以登入了。

最後登入新增的連線網路磁碟機,要能夠使用該空間新增檔案,還必須注意該資料夾的權限問題。必要時透過ssh登入(如下圖),打入chown –R 使用者:群組 資料夾

image  
(圖17)  

這樣就一定有可以新增、刪除的權限了。

基本上這一次的經驗,告知我主要問題在於透過webmin的設定,linux系統與samba之間的溝通似乎出了問題,而必須實際透過ssh以指令的方式建立samba使用者帳號,這樣才真的解決了問題。而奇怪的是透過指令方式新增的使用者,並不會出現在webmin的編輯Samba使用者和密碼名單裏面(圖18)。

image  
(圖18)  

沒有留言: