2010-06-23 18 views
5

¿Debo otorgar permisos de "modificación" a "todos" o "usuarios" o "usuarios automáticos" si, bajo UAC, deseo hacer que las carpetas de datos y los archivos se puedan escribir en usuarios que no sean administradores del programa?Inno Configuración y permisos para no administradores: ¿todos, usuarios o usuarios automáticos?

Quiero que, básicamente, todos los que pueden sentarse en la computadora pueden leer/escribir los datos a través del programa. También he leído que usar 'todos' para modificar permisos puede abrir un agujero de seguridad en la red. ¿Cuál es la diferencia entre todos, usuarios y usuarios automáticos? ¿Cuáles son las implicaciones de seguridad?

detalles de implementación para InnoSetup siguen:

Usando InnoSetup, instalo un archivo EXE en un programa estándar de archivos subcarpeta, y una subcarpeta de datos dentro de ella, así:

C: \ Archivos de programa \ Mi Prog \ PROG.EXE
C: \ archivos de programa \ Mi Prog \ Data \ MyData.dat

Ahora, para hacerlo de modo que MyData.dat puede ser modificado por PROG.EXE incluso si PROG.EXE se pone en marcha por una usuarios no administradores, doy permisos de "modificación" a la subcarpeta "Datos" con esta línea:

[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; 

Esta pregunta es similar a 2686918 pero no encontré suficiente información sobre los tipos de permisos, de ahí esta nueva. Actualizaré esa pregunta después de aclarar esta.

InnoSetup en particular, define estos grupos:

  • administradores incorporado grupo Administradores
  • authusers grupo Usuarios autenticados sistema
  • todos grupo Todos
  • PowerUsers grupo de usuarios avanzados incorporado
  • Usuario de SYSTEM local
  • usuarios Grupo de usuarios integrados

¿Cuál de los siguientes es el más cercano a "cualquier usuario que esté sentado en la máquina, administrador, no administrador o lo que sea, pero nadie que esté accediendo a la máquina desde las redes"?

Respuesta

3

¡Va por el camino equivocado! ¡No guarde los datos de su aplicación en %PROGRAMFILES%! Utilice el directorio que está destinado para esto: CSIDL_APPDATA

Consulte Microsoft, si desea obtener más información sobre security identifiers.

+0

Gracias. He hecho esto antes, y en algunos casos mi programa no ha podido acceder a algunas de esas carpetas. De ahí la idea de utilizar una subcarpeta solo de datos en ProgramFiles y dar si modificar permisos. (permiso para modificar la subcarpeta de datos, no la carpeta con el exe instalado), y parece funcionar bien hasta ahora ... E incluso si uso ProgramData en su lugar, aún necesito configurar los permisos de la subcarpeta particular que uso, por lo que Todavía estoy tratando de entender si usar a todos, usuarios o usuarios automáticos, o qué más ... – MarcoB

+0

Ver mi edición sobre "identificadores de seguridad". – splash

+0

Gracias, tal vez nos puede dar un puntero más ... ¿Puede ver mi edición sobre la lista de SID de InnoSetup y recomendar cuál de los que está cerca de "todos los que se sientan en la computadora, y nadie más" ... gracias ! – MarcoB

Cuestiones relacionadas