Должен ли я дать полномочия «изменять» «всем», «пользователям» или «авторам», если под 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
- системный локальный пользователь СИСТЕМЫ
- группа пользователей Встроенная группа пользователей
Кто из них является ближайшим к "любому пользователю, который сидит за компьютером, администратору, не администратору или кому-либо еще, но никому, кто обращается к машине из сети"?