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 這三項對應了。