Permissions
配置 Samba 權限
我想知道是否可以使文件可創建,但不可寫或可移動。這樣每個文件都是用
r--r--r--
權限創建的。我目前的 smb.conf:
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = ubuntu security = user map to guest = bad user dns proxy = no #=== Share Definitions === [Anonymous] path = /samba/anon browsable =yes writable = yes guest ok = yes read only = no force user = nobody create mask = 0444 force create mode = 0444 directory mask = 0444 force directory mode = 0444
我被 /samba/anon 權限設置為
drw-rw-rw-
. 如果我刪除w
,使用者將無法再使用它創建文件 - 文件是可移動的。這個困境能解決嗎?
您可以嘗試以下方法(我現在無法驗證它是否有效,但應該可以):
[Anonymous] path = /samba/anon browsable =yes writable = yes guest ok = yes read only = no force user = nobody create mask = 0644 force create mode = 0644 directory mask = 3775 force directory mode = 3775 inherit owner = yes
然後設置共享主目錄的權限(其中 sambaadm 是一些不同於nobody 的linux 使用者):
chown -R sambaadm:nogroup /samba/anon find /samba/anon -type d | xargs chmod 3775 find /samba/anon -not -type d | xargs chmod 0644
這利用目錄上的粘性位使文件只能由所有者刪除。使用“繼承所有者”,您強制使用者始終是 sambaadm,因此無法刪除 nobody 使用者。還可以寫入僅允許 sambaadm 使用的文件,而 nobody 使用者可以使用其 nogroup 組成員身份寫入目錄。