samba conf
Samba 3.0 資源回收桶
參閱 :
在 Samba 裡實作資源回收筒
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 的硬碟將很快就會塞滿了一些過時無用的檔案。要記得常常清理呀!
實作:
先建立一個叫作 Recycle 的目錄,owner 和 group 都設為 root,權限給 1777,也就是變成 drwxrwxrwt (好像 /tmp 那樣)。就變成多帳號共用的垃圾桶囉。
再談 Samba 的設定
Samba 使用者是可以獨立於一般系統使用者的,作法如下:
1.修改 /etc/samba/smb.conf
在 [global] 下,加入
username map = /etc/samba/smbusers
在各 Service 下加入允許的使用者
valid users = user1 user2
2.修改(或建立) /etc/samba/smbusers,加入 Windows 使用者
user1 = andy bob carl david
user2 = harold joy kim mary
3.加入 Samba 使用者,使成為一般系統使用者
adduser user1
adduser user2
4.為 Samba 使用者設立密碼
smbpasswd -a user1
smbpasswd -a user2
這樣,Windows 的使用者 andy、bob、carl、david、harold、joy、kim、mary 就可分別以 user1 及 user2 的身份連入 Samba,並在 Linux 下具有 user1 或 user2 的權限。
我的 Samba 設定
這是我的 /etc/samba/smb.conf 部分內容:
[global]
workgroup = MSHOME
security = user
username map = /etc/samba/smbusers
hosts deny = all
hosts allow = 192.168.0.
force group = smbuser
display charset = big5
unix charset = big5
dos charset = cp950
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
create mask = 0664
directory mask = 0776
[share1]
path = /
read only = no
invalid users = root
valid users = smbuser
[share2]
path = /vol2/data
read only = no
[share3]
path = /vol2/document
read only = no
Samba 的中文亂碼
解決方法,修改 /etc/samba/smb.conf,加入:
display charset = big5
unix charset = big5
dos charset = cp950
再 /etc/init.d/samba restart
Samba 3.0 對語系的支援採取了更開放的方式,因為現在的 *nu(i)x 系統幾乎都預設為 utf-8 的格式,而 Windows系統中文還是區分為 Big5、GB2312等,以致為了連接 Linux 與 Windows 就產生了 display、unix、dos 這三項對應了。