如果在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用户
- 用户内置用户组
其中最接近“坐在机器,管理员,非管理员或其他任何用户,但没有人从网络访问机器的用户”?
谢谢。我之前完成了这个工作,在某些情况下,我的编无法访问其中的一些文件夹。因此,在ProgramFiles中使用仅数据子文件夹并提供修改权限的想法。 (修改数据子文件夹的权限,而不是已安装的exe文件夹),并且它似乎目前工作正常...即使我使用ProgramData代替,我仍然需要设置我使用的特定子文件夹的权限,所以我仍然试图了解是否使用每个人,用户或authusers,还有其他什么... – MarcoB 2010-06-23 11:52:28
请参阅我对“安全标识符”的编辑。 – splash 2010-06-23 12:20:12
谢谢,也许你能给我们多一个指针......你能看到我对InnoSetup的SID列表的编辑,并推荐那些关于“谁坐在电脑上,没有其他人”的那些关闭......谢谢! – MarcoB 2010-06-23 13:41:46