Iis
設置僅用於上傳的 BITS 伺服器
通常我們需要讓客戶向我們發送大型備份集。我們目前使用 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 對文件和子文件夾的完全訪問權限。使用機器憑據登錄。有了這些權限,只有上傳文件的機器才能讀取文件。