Как в Windows запустить предоставить доступ на запуск лишь одной программы с повышенными привилегиями?
Здравствуйте,
Есть ряд ОС на которых работают пользователи с ограниченными учетными не состоящими в группе локальных администраторов. Появилась потребность запускать один exe-файл, который перед запуском запрашивает повышение привилегий. Расширять права учетных записей пользователей до локальных администраторов не хотелось бы. Права намеренно ограничены для повышения безопасности и уменьшения сбоев в работе ОС из-за человеческого фактора.
Как поступить в данной ситуации, можно ли сделать исключение для одного exe, при этом не позволять пользователям совершать другие действия административного характера?
Софт разный, суть такая, есть стоматологическая клиника, пациенты приносят различные диски с 3d-снимками своих зубов + программа для просмотра, причем программы различные... что вносит еще большую сложность. Когда запускают программы, с некоторыми из них uac запрашивает учетные данные администратора, как-то так.
Под вашу задачу (просмотр снимков пациентов) можно использовать виртуализацию с целью изоляции системы. Так как исполняемый файл просмотрщика снимков заранее не известен, то надо решить задачу возможности запуска любой программы, которую принесёт пациент с необходимыми правами. Можно из под учётной записи пользователя запускать VirtualBox (бесплатно), в которой будет развёрнута операционная система с учёткой администратора, но при этом никаким образом виртуальная машина не должна взаимодействовать с host системой (кроме проброса DVD привода и USB флешки). По окончании работы виртуалки можно возвращаться к исходному снимку жесткого диска - этим вы ещё и от вирусов защититесь.
как костыль: runas /savecred и сделать ярлык(cmd) для запуска приложения (один раз запросит пароль, сохранит его в хранилище и не будет больше запрашивать).
НО! пользователь сможет (если догадается) запускать любые программы через runas с этой сохраненной учеткой
Появилась потребность запускать один exe-файл, который перед запуском запрашивает повышение привилегий. Расширять права учетных записей пользователей до локальных администраторов не хотелось бы.
С помощью Process Explorer найдите, что конкретно требует повышение привилегий и добавьте права на эти ресурсы.
Runas не советую. Пользователь потом сможет запускать любые программы от администратора.
Я когда-то пользовался программой AdmiLink. Не знаю, работает ли она на современных системах. admilink.narod.ru/admilink.htm
Попробуйте VMware ThinApp, программа для создания портативных приложений. Она не только запихивает их в Sandbox, когда программа в принципе не может навредить реестру системы или системным файлам других программ, но и позволяет полноценно запускать без прав администратора и сохранять результаты основной работы как обычно. Правда без минусов не обошлось: денег стоит, программы запускаются чуть дольше, не всё портабилизуется без заморочек.
А если подойти с другого конца? Вы уверены, что программе для нормальной работы нужны админские права? Возможно ей достаточно натроить области записи на ресурсы в которые пользователь имеет доступ, а дальше система виртуализации UAC сама разберется. Ну и было бы хорошо узнать, что это за софт.
Софт разный, суть такая, есть стоматологическая клиника, пациенты приносят различные диски с 3d-снимками своих зубов + программа для просмотра, причем программы различные... что вносит еще большую сложность. Когда запускают программы, с некоторыми из них uac запрашивает учетные данные администратора, как-то так.