2012-04-07 49 views
0

我想製作一個文件,只有我的程序纔有權寫入/讀取/可視化文件,在Windows 7中我們有這些文件權限,但我不知道如何從我創建的用戶創建,用戶將只是我的可執行文件,只有它可以在文件中看到,讀取和寫入。用C++製作一個文件,只有用戶可以看到該文件並編輯它的權限

我看到一個程序這樣做,但我不知道該怎麼做。

在此先感謝,我很抱歉沒有發佈代碼,因爲它不會有幫助,因爲我不知道如何通過C++處理Windows權限。

回答

2

您無法將文件訪問權限限制爲僅限您的應用。您只能限制對特定用戶帳戶和/或組的訪問權限。看看SetFileSecurity()SetNamedSecurityInfo()的功能。如果具有足夠權限的適當用戶帳戶運行您的應用程序(或針對該事件的任何應用程序),或者您的應用程序(或其他應用程序)模擬了此類帳戶,則它將能夠訪問該文件。

+0

這真的是我一直在尋找的,爲該文件設置一個隨機用戶,並能夠通過我的應用程序來模擬它。你知道有什麼方法可以做到嗎?我應該閱讀或做什麼來實現它? – Grego 2012-04-07 12:09:43

+0

創建一個具有所需用戶權限的DACL,將它們應用於該文件,然後在需要時使用LogonUser()和ImpersonateLoggedOnUser()模擬用戶。 – 2012-04-07 16:22:18

+0

請注意,有能力的用戶將能夠提取您用來登錄特殊帳戶的憑證。 – 2012-04-09 04:24:22

1

windows中的權限基於用戶而不是應用程序。因此,您不能將對文件的訪問限制爲特定的程序/可執行文件。

0

如果您將文件訪問功能分爲不同的可執行文件並將其安裝爲服務,那麼您可以這樣做,但這將會是很多工作,並且您必須將API保護到該服務。

我建議你加密文件的內容。

相關問題