Должен ли я давать «модифицировать» разрешения «всем» или «пользователям» или «аутсайсерам», если в UAC я хочу сделать папки данных и файлы доступными для чтения для пользователей, не являющихся администраторами программы?Inno Setup и разрешения для не-админов: все, пользователи или автоответчики?
Я хочу, чтобы в принципе каждый, кто может сидеть за компьютером, может читать/записывать данные через программу. Я также прочитал, что использование разрешения «все» для модификации может открыть дыру в безопасности по сети. В чем разница между всеми пользователями и пользователями? Каковы последствия для безопасности?
Детали реализации для InnoSetup следовать:
Использование InnoSetup, я установить EXE в стандартной программе Files подпапка и вложенной данных в нем, как это:
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, в частности, определяет следующие группы:
- админов Встроенный в группе Администраторы
- authusers Заверенные Пользователи группы системы
- все Все группы
- PowerUsers Встроенная Опытные пользователи группы
- Локальный пользователь системы
- пользователей Встроенная группа пользователей
Какой из них является ближайшим к "любому пользователю, который сидит на машине, администратору, не-администратору или что-то еще, но никто, кто обращается к машине из сетей"?
Спасибо. Я делал это раньше, и в некоторых случаях моя прога не имела доступа к некоторым из этих папок. Следовательно, идея использования подпапки только для данных в ProgramFiles и предоставления разрешений на изменение. (разрешение на изменение вложенной папки данных, а не на папку с установленным exe), и, похоже, она работает до сих пор ... И даже если я использую ProgramData, мне все равно нужно установить Разрешения для конкретной подпапки, которую я использую, поэтому Я все еще пытаюсь понять, следует ли использовать всех, пользователей или аутсайдеров, или что еще ... – MarcoB
См. Мое правление о «идентификаторах безопасности». – splash
Спасибо, возможно, вы можете дать нам еще один указатель ... Можете ли вы любезно увидеть мое правление в списке SID от InnoSetup и порекомендовать, кто из них закрывается для «всех, кто сидит за компьютером, а никто больше» ... спасибо ! – MarcoB