鎖定一個檔案只能由一個程式寫入?

鎖定一個檔案只能由一個程式寫入?

Windows 7 是否可以鎖定一個文件,使其只能由一個人寫入程式?任何人都可以具有讀取或複製存取權限,但我需要僅透過一個程式來完成寫入/移動/刪除。

答案1

典型答案:不。Windows NT 安全性應用於 SID(使用者、群組、特殊群組...)。程式做不是 1 2有可以使用的唯一 SID,並且您不能將進程名稱或路徑新增至任何 ACL。

同一使用者執行的所有程式都具有相同的 SID—該使用者及其所在的所有群組。

然而,你可以,建立一個單獨的使用者帳戶僅針對該程序,然後使用“運行方式...”來啟動該程序。該帳戶可以輕鬆地從「歡迎」畫面隱藏。

runas /user:myapp /savecred /noprofile "myapp.exe"

某些程式(通常是病毒防毒工具)安裝系統驅動程序,該驅動程式會掛鉤 Windows 核心功能,以禁止修改某些檔案或註冊表值,除非透過某些進程(例如,僅允許從其自己的 GUI 停用防毒軟體)。這需要大量工作(編寫驅動程式、確保它不會使用戶系統崩潰、找到驗證進程的方法...),並且可能無法在更高版本的 Windows 版本(Vista 及更高版本)中可靠地工作。


1 個窗戶服務從 Windows Vista 和 Server 2008 開始,確實會獲得唯一的 SID。

Windows 8 中的2 個Metro 應用程式有自己的 SID,稱為應用程式容器 SID

答案2

這是文件上的標準鎖。通常,它是透過在程式中開啟檔案來完成的。除非程式明確表示可以共享,否則檔案將被鎖定。

相關內容