2007年6月13日

Samba3的資源回收統

轉載Moto論壇的Tetralet的文章

在網路管理中,資料的備份是極重要的事,
而最怕的就是聽到使用者說:『我不小心在網路的芳鄰里把檔案刪掉了。怎麼辨?』

您也許知道,
在網路的芳鄰里所刪掉的檔案是不會出現在本機的資源回收筒裡的;
這個檔案將就這樣消失掉,再也找不回來了...

那麼,是否有什麼解決方案呢?

在 Samba 3.0 裡,
已針對這個問題實作了資源回收筒。
啟用的方法是只要在 /etc/samba/smb.conf 中設定了:
代碼:
# 分享之名稱
[Softwares]
# 分享之路徑
path = /Share/Softwares
# 分享之說明
comment = 常用軟體
# 要不要讓該分享出現於網路的芳鄰里
browseable = yes
# 擁有讀取權限的帳號
valid users = tetralet,@users
# 擁有寫入權限的帳號
write list = tetralet
# 所建立的檔案的預設權限
create mask = 0664
# 所建立的目錄的預設權限
directory mask = 0755
# 是否允許使用者覆蓋別的使用者的檔案
lock = true
# 是否可以匿名存取
public = no

# 載入 資源回收筒 模組
vfs object = recycle
# 在將檔案移入 資源回收筒 時,要建立相對應的目錄結構
recycle: keeptree = yes
# 資源回收筒 之相對路徑。後面的 %u 則為使用者帳號。
recycle: repository = ../Recycle/%u
# 不進行 資源回收 的檔案類型
recycle: exclude = .tmp|.temp|.o|.obj
# 若有相同檔案名稱時,則加以編號識別
recycle: versions = yes


如果使用者在 Samba 上刪除任何檔案,
Samba 就會自動把使用者所刪除的檔案移入 recycle: repository 所指定的相對路徑裡了。
而在 MS Windows NT/2000/2003 上可沒有提供類似的功能!

 注意:

  * recycle: repository 只能指定相對路徑。無法指定絕對路徑。

  * 要注意 recycle: repository 目錄之權限,要讓使用者能夠寫入才行。

  * 而在檔案移入 recycle: repository 目錄後,其權限則為 600。在安全性上就比較不用擔心了。

  * 檔案在移入 recycle: repository 目錄的過程中,若發生任何問題,
   如:無法寫入目錄等等,Samba 會寫入一筆錯誤資訊至 Log 中,但還是會把檔案給刪除掉。
   這是必須要注意到的地方。

  * 可想而知的,Samba Server 的硬碟將很快就會塞滿了一些過時無用的檔案。
   要記得常常清理呀!

Samba 還提供了一些如:稽核、即時掃毒等等模組,相關資訊可以參考 Stackable VFS modules


有了這個超實用的功能,
的確有充份的動機把 MS Windows 的 File Server 給丟掉了...

沒有留言: