2010-02-27 104 views
4

我正在嘗試創建類似於文件夾鎖定的程序,該程序阻止用戶訪問特定文件夾。我嘗試使用DirectorySecurity類和AccessRules來更改文件夾的AccessControl。阻止訪問使用C#的目錄

但是,通過轉到「安全選項卡」並更改權限,可以輕鬆更改我分配的設置。

是否有任何安全的方法來阻止訪問目錄?

+1

我猜想,由於它有可能被惡意軟件嚴重濫用,因此不可能阻止訪問具有管理員權限的用戶。 – Wilhelm 2010-02-27 21:24:02

+0

我在想如何像文件夾鎖,MyLockBox等這些應用程序能夠隱藏文件夾?任何人都可以給我一些想法? – Mako 2010-02-28 06:03:34

回答

3

我覺得my answer這個問題:「How could I prevent a folder from being created using a windows service?」可能是你需要怎樣做才能達到你想要的東西:

不幸的是我不知道的任何地方 足夠近有關如何幫助你, 但我相當肯定,你需要 到的寫或獲得File System Filter Driver可以 與Windows服務 告訴它已有人嘗試 創建一個目錄/文件通信,使得 您服務可以爲01做出決定吧。這種方式當有人/東西 試圖創建一個文件或文件夾 這是不允許的,他們可能是 返回「拒絕訪問」或其他 Win32錯誤的您選擇。

如果你做下去使用 司機的路線,我猜它會仍然是最好的 做決定的 服務內核,如果 的創建/修改,即外面的繁重模式。

0

不,您不能阻止計算機管理員帳戶訪問或取得任何文件夾的所有權。

您可以防止受限帳戶(如您所述),但管理員將始終能夠更改安全設置。

1

只要用戶是目錄或文件的所有者,他就可以更改權限。您必須更改目錄的所有權才能真正保護目錄(並且使所有權變更需要管理權限)。 但擁有管理員權限的用戶可以始終將擁有權歸還。

如果你在一個企業中,而且人們不是他們機器的管理員,那麼你可以編寫一個Windows域名服務,作爲域管理員並進行必要的更改。在家庭環境中,沒有辦法。

1

有兩件事可以否決本地管理員的權利。

  • 域策略(但您的PC必須是域的成員)
  • 下SYSTEM權限運行(例如驅動程序)的方法,這是這樣的病毒掃描程序和rootkit的工作,他們分析您的文件系統請求在結果到達用戶之前,並在必要時攔截它。

但是第二個選項是用c#不能做的,第一個選項更多的是Active Directory配置解決方案。