非管理员的Inno设置和权限:每个人,用户还是authusers?

Mar*_*coB 5 permissions acl uac inno-setup

我应该给予"修改"的权限为"大家"或"用户"或"的AuthUser"如果,UAC下,我想使数据文件夹和文件可写的程序的非管理员用户?

我希望基本上每个可以坐在电脑前的人都可以通过程序读/写数据.我还读到,使用'everyone'进行修改权限可以在网络上打开安全漏洞.每个人,用户和authusers之间有什么区别?有什么安全隐患?

InnoSetup的实施细节如下:

使用InnoSetup,我安装在一个标准的程序文件的子文件夹的EXE,并在其中一个数据子文件夹,如下所示:

C:\ Program Files\My Prog\Prog.exe
C:\ Program Files\My 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; 
Run Code Online (Sandbox Code Playgroud)

这个问题类似于2686918,但我没有找到关于权限类型的足够信息,因此这个新的.在澄清这个问题后我会更新这个问题.

InnoSetup特别定义了这些组:

  • 管理员内置管理员组
  • authusers Authenticated Users组
  • 每个人都是团体
  • powerusers内置Power Users组
  • system本地系统用户
  • 用户内置用户组

其中哪些是最接近"谁是坐在机,管理员的任何用户,非管理员,或什么的,但没有人谁是从网络访问本机"?

spl*_*ash 4

你走错路了!不要将您的应用程序数据存储在%PROGRAMFILES%! 使用专用目录:CSIDL_APPDATA

如果您想了解有关安全标识符的更多信息,请咨询 Microsoft 。