Настройка Inno и разрешения для не-администраторов: все, пользователи или авторы? - PullRequest
5 голосов
/ 23 июня 2010

Должен ли я дать полномочия «изменять» «всем», «пользователям» или «авторам», если под UAC я хочу сделать папки данных и файлы доступными для записи пользователям программы, не являющимся администраторами?

Я хочу, чтобы практически все, кто может сидеть за компьютером, могли читать / записывать данные через программу. Я также читал, что использование «всех» для разрешения на изменение может открыть дыру в безопасности сети. В чем разница между всеми, пользователями и авторами? Каковы последствия для безопасности?

Подробности реализации InnoSetup приведены ниже:

Используя InnoSetup, я устанавливаю EXE в стандартную подпапку Program Files и подпапку 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
  • системный локальный пользователь СИСТЕМЫ
  • группа пользователей Встроенная группа пользователей

Кто из них является ближайшим к "любому пользователю, который сидит за компьютером, администратору, не администратору или кому-либо еще, но никому, кто обращается к машине из сети"?

1 Ответ

4 голосов
/ 23 июня 2010

Вы идете не в ту сторону!Не храните данные вашего приложения под %PROGRAMFILES%!Используйте каталог, предназначенный для этого: CSIDL_APPDATA

Обратитесь в Microsoft, если вы хотите получить больше информации о идентификаторах безопасности .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...