Запустить процесс с пониженными привилегиями

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Teranas
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Запустить процесс с пониженными привилегиями

Сообщение Teranas » 11.07.2019 (Чт) 16:51

Кто знает, как запустить процесс с пониженными привилегиями из программы, работающей с повышенными (административными) привилегиями?
С уважением, Андрей.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16210
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запустить процесс с пониженными привилегиями

Сообщение Хакер » 11.07.2019 (Чт) 17:40

Во-первых, CreateProcessAsUser и CreateProcessWithLogon если нужно просто запустить процесс от имени другого пользователя (известного), с меньшим набором привилегий.

Во-вторых, если не желательно иметь процесс от имени другого пользователя, если не хотим требовать, чтобы альтернативная учётная запись с более низкими правами вообще существовала, и не хотим запрашивать имя/пароль и где-то хранить: в Windows NT есть такой специальный ядерный объект — token — который и определяет, что каждый отдельно взятый процесс имеет и не имеет права делать.

Когда пользователь авторизуется, система создаёт объект «токен» и ассоциирует первично запускаемый процесс с этим токеном. Когда процесс запускает дочерние процессы, они напрямую наследуеют токен родительского процесса. Однако, на базе текущего токена некий процесс может при желании создать унаследованный токен, урезав какие-то привилегии, и при создании дочернего процесса передать хендл этого нового токена. Делается это функцией CreateRestrictedToken.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Teranas
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: Запустить процесс с пониженными привилегиями

Сообщение Teranas » 11.07.2019 (Чт) 18:10

Супер, спасибо Хакер!
С уважением, Андрей.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing-бот и гости: 1

    TopList