Iis

設置僅用於上傳的 BITS 伺服器

  • April 21, 2020

通常我們需要讓客戶向我們發送大型備份集。我們目前使用 ftp,但是我們遇到了在傳輸完成之前在客戶端電腦上關閉 ftp 客戶端的問題。

我們想使用後台智能傳輸服務 (BITS),但是我無法創建與 FTP 上相同的“UploadOnly”樣式帳戶。

到目前為止,我通過 SSL 使用 NTLM 身份驗證,它非常適合能夠上傳和下載的正常案例。但是,如果我刪除上傳帳戶的虛擬目錄的“修改”權限(特別是刪除“列表文件夾/讀取數據”、“讀取擴展屬性”或“刪除”權限),當我嘗試從客戶端執行上傳:

Start-BitsTransfer : Access is denied.
At line:1 char:19
+ Start-BitsTransfer <<<<  -TransferType Upload -Source E:\test.bin -Destination https://www.example.com/BitsUpload/test.bin -Credential $c -Authentication NTLM
   + CategoryInfo          : InvalidOperation: (:) [Start-BitsTransfer], Exception
   + FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
  TransferCommand

此外,如果未選中“刪除”權限,則會在上傳文件夾中留下一個 0KB 的文件,bitssrv_{RANDOM_GUID}_statefile其中 RANDOM_GUID 是每個文件的不同 guid。

我需要做什麼來設置 BITS,以便我可以將數據上傳到伺服器,但不能下載它?如果這不可能做我想讓我知道的事情,我可能會製作一個腳本,在傳輸完成時將其移出上傳文件夾。

使用共享登錄帳戶,這是不可能的。BITS 的一部分是能夠重新啟動中斷的文件傳輸,它通過讀取文件末尾來知道從哪裡重新啟動。所以放置文件的能力總是需要讀取文件的能力。

一個選項可能是創建一組將發送文件的所有機器,而不是使用一個帳戶登錄。授予組對文件夾(但不是子文件夾和文件)的修改訪問權限。還授予 CREATOR OWNER 對文件和子文件夾的完全訪問權限。使用機器憑據登錄。有了這些權限,只有上傳文件的機器才能讀取文件。

引用自:https://serverfault.com/questions/417924