如何將原始繼承的權限重新套用至作為管理員建立的檔案?

如何將原始繼承的權限重新套用至作為管理員建立的檔案?

我希望有人能一勞永逸地回答這個問題,這讓我發瘋了好幾個月。

  • 平台: Windows伺服器,任何版本。這個問題不會發生在工作站
  • 問題:

在資料夾中,每當我建立文件時行政人員(從命令提示字元或從批次執行“以管理員身份”,與我連接的使用者無法編輯建立的檔案。權限集缺少具有“特殊權限”的使用者(無論這意味著什麼),而這並不為什麼發生在工作站?

我嘗試了多種類型的 ICACLS,其中一種總是在搜尋結果中返回:ICACLS folder /reset /C /L /T但它沒有幫助:我的用戶仍然無法編輯文件,除非它位於權限集中。

我發現的唯一繞過方法是強制授予我的用戶完全訪問權限,如下所示:icacls folder /grant %USERNAME%@%USERDNSDOMAIN%:F /T /C /Q

問題是檔案的權限集仍然與應有的不符:

  • 缺少創作者所有者
  • COMPUTERNAME\Users 缺少繼承(「特殊權限」)

我做錯了什麼嗎?

當您希望建立的檔案具有與未以管理員身分執行批次相同的權限時,以管理員身分執行批次時的最佳實務是什麼?是否可以實際將權限重設為應有的方式,而無需編寫具有多個條件的批次?

答案1

我不認為你做錯了什麼,系統正在按設計運作。在非特權會話中使用提升的帳戶執行腳本時,您將以管理員身分建立該檔案。據我了解,管理員群組的成員將擁有完全權限,而不是登入的使用者帳戶。使用者權限必須按照您繞過它的方式添加到檔案中。您也可以在腳本中使用 takeown %USERNAME% 來變更檔案的擁有者。我相信您需要將條件新增到批次檔中。

答案2

沒有解決方案,只有一個解決方法:透過向您選擇的使用者授予完全存取權限來強制應用權限:

icacls folder /grant %USERNAME%@%USERDNSDOMAIN%:F /T /C /Q

相關內容