【发布时间】:2011-03-07 06:29:00
【问题描述】:
如果在 UAC 下,我想让数据文件夹和文件对程序的非管理员用户可写,我应该将“修改”权限授予“所有人”或“用户”或“授权用户”吗?
我希望基本上每个可以坐在电脑前的人都可以通过程序读/写数据。我还读到使用“每个人”来修改权限可能会在网络上打开一个安全漏洞。每个人,用户和授权用户之间有什么区别?有什么安全隐患?
InnoSetup 的实现细节如下:
使用 InnoSetup,我在标准 Program Files 子文件夹中安装了一个 EXE,并在其中安装了一个 Data 子文件夹,如下所示:
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;
这个问题类似于2686918,但我没有找到足够的关于权限类型的信息,因此这个新问题。我会在澄清这个问题后更新这个问题。
InnoSetup 特别定义了这些组:
- admins 内置管理员组
- authusers 已验证用户组
- 大家大家组
- powerusers 内置 Power Users 组
- 系统本地 SYSTEM 用户
- users 内置用户组
其中哪一个最接近“坐在机器旁的任何用户、管理员、非管理员或其他任何用户,但没有人从网络访问机器”?
【问题讨论】:
标签: permissions uac inno-setup acl