Backup
創建僅具有寫入權限且沒有讀取權限的 samba 共享
案例
我是唯一的使用者。我有一個帶有全盤加密的 ubuntu NAS,我正在嘗試將我自己的 Windows 機器備份到那個。我想要一個可以啟動的 USB 記憶棒,以將 Windows 驅動器複製到 NAS,但我不希望任何可能遇到帶有共享憑據的 USB 記憶棒的人都可以讀取整個備份共享。你能想出更好的解決方案嗎?
我在想什麼可以工作
我一直在尋找但找不到我需要的東西,我發現的一切都是關於簡單地啟用對共享的寫訪問,這不是我想要做的。
我想在我的 ubuntu 機器上創建一個 samba 共享,使用者只有寫權限。我希望他們能夠創建文件但不能讀取它們,也不能列出共享中的文件夾。
這是為了備份。我想要一個可啟動的 USB 驅動器,我可以從中啟動它會獲取該機器中驅動器的磁碟映像並保存到 samba 共享,但我不希望該 USB 能夠訪問所有映像。
如果文件已經存在,我很高興它只是失敗,我將通過使用驅動器 UUID/時間來確保文件名不會衝突。
我做過類似的事情,唯一的區別是一個使用者可以只寫而不閱讀(甚至列出目錄),另一個使用者只能閱讀。
/etc/samba/smb.conf
[write-only] comment = Write-only access without read path = /smbshare hosts allow = 172.17.10.10 hosts deny = 0.0.0.0/0 read only = no write list = smbwrite force user = smbwrite force group = smbread create mask = 0350 directory mask = 0350 force create mode = 0350 force directory mode = 0350
伺服器端的初始訪問權限:
chmod -R 350 /smbshare chown -R smbwrite:smbread /smbshare
唯一的缺點是,如果您知道確切的文件名,則可以列出它。
以下部分供參考:
[read-only] comment = Read-only access path = /smbshare read only = yes hosts allow = 172.17.10.20 hosts deny = 0.0.0.0/0 read list = @smbread
/etc/fstab
兩個客戶端上的條目:smbwrite (172.17.10.10),本地使用者“foo”:
//172.17.10.1/write-only /mnt/write cifs user=smbwrite,pass=s3kr1t,uid=foo,vers=3.0 0 0
smbread (172.17.10.20),本地使用者“bar”:
//172.17.10.1/read-only /mnt/read cifs user=smbread,pass=s3kr1t,uid=bar,vers=3.0 0 0