2010-06-23 131 views
5

如果在UAC下,我想讓數據文件夾和文件可寫入程序的非管理員用戶,我應該給「所有人」還是「用戶」或「authusers」授予「修改」權限?Inno設置和非管理員權限:所有人,用戶或authusers?

我希望基本上每個可以坐在電腦裏的人都可以通過程序讀取/寫入數據。我還讀到,使用「所有人」獲得修改權限可能會在網絡上打開安全漏洞。每個人,用戶和authusers之間有什麼區別?什麼是安全影響?

爲InnoSetup實現細節如下:

使用InnoSetup,我在一個標準的程序安裝一個EXE文件子文件夾,並在其中一個數據子文件夾,如:

C:\ Program Files文件\我的PROG \ Prog.exe
C:\ Program Files文件\我的PROG \ DATA \ MYDATA.DAT

現在,爲了讓這個MYDATA.DAT可以通過Prog.exe進行修改,即使Prog.exe通過推出非管理員用戶,我給這個子行「數據」修改權限:

[Dirs] 
Name: "{app}\Data"; Permissions: everyone-modify; 
;This is the question: should I use users or authusers instead of everyone? 

[Files] 
Source: "MyProg.exe"; DestDir: "{app}"; Flags: replacesameversion; 
Source: "MyData.dat"; DestDir: "{app}\Data"; Flags: replacesameversion; 

這個問題與2686918類似,但我沒有找到關於權限類型的足夠信息,因此這個新的。澄清這個之後,我會更新這個問題。

InnoSetup特別定義了這些羣體:

  • 管理員內置的管理員組
  • 的AuthUser Authenticated Users組
  • 大家Everyone組
  • 高級用戶內置Power Users組
  • 系統本地SYSTEM用戶
  • 用戶內置用戶組

其中最接近「坐在機器,管理員,非管理員或其他任何用戶,但沒有人從網絡訪問機器的用戶」?

回答

3

你走錯了路!請勿將您的申請資料儲存在%PROGRAMFILES%!請使用此目錄:CSIDL_APPDATA

如果您想了解更多關於security identifiers的信息,請與Microsoft聯繫。

+0

謝謝。我之前完成了這個工作,在某些情況下,我的編無法訪問其中的一些文件夾。因此,在ProgramFiles中使用僅數據子文件夾並提供修改權限的想法。 (修改數據子文件夾的權限,而不是已安裝的exe文件夾),並且它似乎目前工作正常...即使我使用ProgramData代替,我仍然需要設置我使用的特定子文件夾的權限,所以我仍然試圖瞭解是否使用每個人,用戶或authusers,還有其他什麼... – MarcoB 2010-06-23 11:52:28

+0

請參閱我對「安全標識符」的編輯。 – splash 2010-06-23 12:20:12

+0

謝謝,也許你能給我們多一個指針......你能看到我對InnoSetup的SID列表的編輯,並推薦那些關於「誰坐在電腦上,沒有其他人」的那些關閉......謝謝! – MarcoB 2010-06-23 13:41:46

相關問題