
У меня есть приложение, которое я поддерживаю, которому требуется разрешение на чтение и запись в реестр, а также на создание файлов на диске и CD-ROM.
Я хотел бы запускать компьютеры с правами ограниченного пользователя, чтобы ничего больше не могло быть установлено или записано в реестр без моего ведома, но при этом Windows не запрашивала бы пароль каждый раз, когда программе требуется доступ к реестру.
Могу ли я настроить ограниченного пользователя, чтобы программа или папка имели разрешение делать все, что им вздумается? Я полностью доверяю этой программе, так как знаю людей, которые ее написали.
решение1
Разрешения обычно назначаютсяучетные записи пользователейилигруппы. Таким образом, стандартный способ сделать это — назначить разрешения соответствующим разделам реестра и папкам (и убедиться, чтосоответствующий политикаконфигурация не запрещает пользователям записывать данные на CD).
Разрешения на CD могут быть особенно липкими, если они не работают, а все выглядит настроенным. Если вы используете UDF CD (также называемые пакетно записанными CD), у вас могут возникнуть проблемы. Поддержка этого немного нестабильна, IMX, хотя именно так работает запись методом перетаскивания в Win7. Nero BurnRights раньше была программой, которая могла бы справиться с этим, но это должно быть необходимо только в Windows 2000, поскольку по умолчанию стандартные пользователи в Windows XP и более поздних версиях имеют разрешение на запись на съемные носители. Это действительно зависит от того, как программа пытается записать на CD.
Единственной альтернативой этому является использование инструментария Microsoft, позволяющего приложениям, которые плохо взаимодействуют с современными системами безопасности ОС, продолжать функционировать:Набор инструментов для обеспечения совместимости приложений. Это позволит вам заставить старое приложение вести себя так, как будто оно работает с более высокими привилегиями, чем обычно имеет пользователь, но этооченьсложный и (если верить моему коллеге) очень болезненный в настройке. По сути, вы настраиваете программу-прокладку, которая работает между приложением и ОС, и она должна знать все, что программа собирается делать. Вам следует рассматривать этот вариант только в том случае, если у вас много времени и очень сильная потребность, и вы не можете использовать NTFS и разрешения реестра для достижения того же самого.
решение2
Используйте sysinternals ProcMon.exe, чтобы найти иерархии реестра и иерархии файловой системы, необходимые для работы. Затем установите соответствующие разрешения реестра и NTFS, чтобы предоставить минимальные привилегии ограниченному пользователю.
Когда будет найден набор минимальных привилегий для работы этого приложения, убедитесь, что ваши приятели-"программисты" сузили свой след в самом коде. Таким образом, новая версия будет работать как ограниченный пользователь, не раскрывая поверхность вашего трека.
решение3
Если "ограниченный пользователь" может делать что-то, требующее административных привилегий, то учетная запись не ограничена. Вы противоречите сами себе. Никто не может иметь свой пирог и есть его одновременно.