Fedora Samba MySQL 檔案伺服器

結合MySQL 打造Samba認證檔案伺服器

2012-07-11
在網路中存取資料最常用到的,就是透過Samba伺服器來存取異質網路間的檔案文件,但如何管理眾多使用者所擁有的帳號及密碼一直是個頭痛的難題。其實只要善用MySQL資料庫,就可以減輕Samba帳號密碼管理上的負擔了。
Samba組態設定

接下來,繼續說明Samba的組態設定,Samba軟體主要的組態檔名稱為smb.conf,其組態檔格式如下:


常用的屬性設定說明,如表2所示。

表2 Samba常用屬性設定

以下以傳統設定帳號/?密碼控管為例,設定Samba伺服器「/share」分享目錄只有admin使用者才可以存取這個目錄。首先,設定smb.conf組態檔,相關設定內容如下。


接下來設定帳號和密碼資訊,Samba伺服器提供pdbedit程式來管理Samba的帳號檔案,表3簡示其相關用法:

表3 pdbedit程式可用參數

可利用指令「pdbedit -a -u admin」來新增使用者,新增完成後執行指令「/etc/init.d/smb start」,即可啟動Samba伺服器。

在啟動完成後,可透過微軟作業系統的「網路芳鄰」來瀏覽分享的資源,並以帳號及密碼(僅允許admin帳號登入)來控管。

至此,已經可以在微軟作業系統上以網路芳鄰的方式瀏覽Samba伺服器,此時應會彈出視窗,要求使用者輸入帳號及密碼,正確輸入後即可使用Samba伺服器所分享出來的資源。

此種驗證方式是最基本的帳號控管應用,但相關的帳號密碼均是以檔案的形式來儲存,在管理上不像資料庫那麼方便,因此接著將繼續說明利用PAM(Pluggable Authentication Modules,可插可拔的認證模組)機制與資料庫結合,實作以MySQL資料庫為基礎的帳號管理。首先,說明與PAM相關的基礎知識。

認識PAM

在Linux系統上一般都是利用輸入使用者帳號及密碼等相關資訊來進行身分認證,例如登入Linux系統時必須提供使用者名稱和密碼,而後登入程序才能根據使用者所給的名稱和密碼來確認是否為合法的帳號。

但此種流程僅僅適用於單機上的指令認證,當企業要導入類似SSO機制時,如果採用傳統的驗證方式,在更換認證方式的時候,即須重新編譯相關的程序,亦即只要使用不同的認證方式就必須重新編譯所要進行認證的程序。這在實務的使用上常造成極大的不便。



追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!