Fedora Samba MySQL 檔案伺服器

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

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

首先設定samba的組態檔(smb.conf),在[global]區段中加入以下的設定內容:


然後,再加一個分享的資源,本例的設定如下:


設定完Samba伺服器的組態後,即可繼續設定相關的PAM組態,在「/etc/pam.d/samba」中的設定如下圖所示:


這裡使用的認證資料庫名稱為samba_auth,使用者的資料記錄在名稱為users的表格,並使用login欄位當作登入帳號,而password欄位當作密碼(密碼欄位須使用password的函數加密crypt=2),並且利用logs表格來記錄相關的log詳細資訊。

設定完成後,利用指令「/etc/init.d/smb restart」重新啟動Samba伺服器。如果在實作過程中有發現任何的問題,可先行檢查「/var/log/secure」,該檔案中會有類似下圖所示的偵錯訊息,可協助找出問題點。或者,可查閱logs表格相關資訊。


如果一切正常,就可利用smbclient指令來測試。至此,一個利用MySQL來認證的Samba伺服器即完成。


結語

檔案伺服器最主要的功能不外乎「確保資料安全」及「權限控管」。在前幾期曾介紹過Samba結合ClamAV可用來掃描上傳的檔案是否含有惡意軟體,而本期利用MySQL來儲存Samba的帳號及密碼,提供管理者更具彈性的方式來管理Samba。只要善用開源碼社群資源,任何人都可實作出一套不亞於商業軟體的檔案伺服器。


追蹤我們Featrue us

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

我知道了!