В общем, есть ребенок, у него комп, windows 10. Его учетка там — обычный пользователь, в админах не состоит.
Появилась игра (совсем лицензионная, там все чисто), которая при запуске требует повышенных прав, а их у ребенка нет. Соответственно — вводите пароль. Пароль ему давать не хочу, иначе в чем смысл ограниченной учетки? Хочется все же чтобы при запуске чего-то левого он не мог это запустить. Но в этой игре я уверен, хочу как-то так настроить, чтобы он мог ее запускать без пароля администратора.
Здравствуйте, fmiracle, Вы писали:
F>Как бы это правильно сделать?
Почитать в описании игры, для чего ей требуются повышенные права. Если она просто умеренно крива, и пишет в свой установочный подкаталог в Program Files — дать детской учетке права на запись только в этот подкаталог. Если же настолько крива, что каждый раз устанавливает какой-нибудь свой драйвер — лучше выкинуть, или действительно выделить для игр отдельный компьютер.
Вообще, времена, когда права администратора требовались из-за кривизны, кончились на XP, в которой пользователь по умолчанию был "неявным" администратором. Уже в висте привилегированные действия выбрасывали экран UAC, который нервировал и вызывал вопросы.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, fmiracle, Вы писали: F>>Как бы это правильно сделать? ЕМ>Почитать в описании игры, для чего ей требуются повышенные права.
Ага. прямо так и напишут.
Реально запрос дает даже не игра а ее лаунчер и подозреваю что там какая-то проверка лицензионности или типа того.
ЕМ>Вообще, времена, когда права администратора требовались из-за кривизны, кончились на XP, в которой пользователь по умолчанию был "неявным" администратором. Уже в висте привилегированные действия выбрасывали экран UAC, который нервировал и вызывал вопросы.
Так я про него и говорю. Если бы он был локальным админом ему бы просто всплывал UAC с вопросом "Да/Нет", но поскольку он не админ, то UAC всплывает с запросом пароля.
Здравствуйте, Евгений Музыченко, Вы писали:
vsb>>В винде не додумались до банального sudo
ЕМ>Нет, в винде такие подходы считаются недостаточно безопасными.
Ну судя по тому, что альтернативой предлагают "шифровать" пароль админа в домашнем каталоге пользователя "хитрыми шифрами" — до действительно небезопасных подходов — додумались.
В чём принципиальная проблема держать запущенным сервис от админа, который будет по запросу от пользователя запускать нужную программу от админа (если пользователю предоставили заранее такое право)?
Здравствуйте, fmiracle, Вы писали:
F>Реально запрос дает даже не игра а ее лаунчер и подозреваю что там какая-то проверка лицензионности или типа того.
Попробовать отредактировать этот лаунчер, убрав из манифеста требование requestedExecutionLevel level="requireAdministrator"
Здравствуйте, vsb, Вы писали:
vsb>судя по тому, что альтернативой предлагают "шифровать" пароль админа в домашнем каталоге пользователя "хитрыми шифрами"
Это предлагает не разработчик системы (MS), а разработчики левого софта. Типа, под унихами мало кривых и опасных сторонних решений?
vsb>В чём принципиальная проблема держать запущенным сервис от админа, который будет по запросу от пользователя запускать нужную программу от админа (если пользователю предоставили заранее такое право)?
Это и делают мало-мальски толковые сторонние решения. Но и это — костыли, ибо любой софт, необоснованно требующий повышенных прав, по определению крив и опасен.
vsb>В чём принципиальная проблема держать запущенным сервис от админа, который будет по запросу от пользователя запускать нужную программу от админа (если пользователю предоставили заранее такое право)?
программу, не требующую взаимодействия с пользователем, можно запускать под другим пользователем через task scheduler.
Интерактивная программа тоже запустится, но в другой сессии (session0, либо активной сессии другого пользователя).
Microsoft Windows is an event driven environment, in which processes react to events, the events are set using messages. Different windows in the operating system send each other messages.
Windows is a GUI event driven system. In an event driven system objects can send other objects events.
It is possible for non-privileged events to send high-privileged events. There is no check by the system regarding the identity of the process.
The underlying problem according to Microsoft was that the higher level application should not be run in the same desktop area.
The privileges of programs running in one desktop area are similar/same. Microsoft says that “all processes within the interactive desktop are peers”.
Or at least they should be peers. Microsoft’s position from the start was very clear that this should not be counted as a design flaw but this is the required environment in which the application needs to function.
Но я не вполне понимаю, почему запуск через runas в той же сессии менее опасен (видимо дело в том, что пароль тоже вводится интерактивно, а не сохраняется).
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, vaa, Вы писали:
vsb>>>В винде не додумались до банального sudo
vaa>>runas
vsb>И как его настроить, чтобы он не спрашивал пароль админа?
/savecred Использовать учетные данные, сохраненные пользователем.
Здравствуйте, vaa, Вы писали:
vsb>>И как его настроить, чтобы он не спрашивал пароль админа?
vaa>
vaa>/savecred Использовать учетные данные, сохраненные пользователем.
vaa>не поможет?
Может и поможет, но это же дырень. Он сохраняет пароль админа в хомяке юзера. Насколько я понимаю, ты потом можешь запускать любую программу от админа.
В случае с sudo ты сам настраиваешь, какие программы юзер может запускать, от чьего имени он их может запускать, какие аргументы передавать и другие нюансы. Это позволяет хоть какую-то безопасность обеспечить.