|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 8 и 8.1 » Доступ - [решено] Запуск приложения с обычными/пониженными правами |
|
Доступ - [решено] Запуск приложения с обычными/пониженными правами
|
Новый участник Сообщения: 18 |
Сразу скажу: Разные похожие темы есть на форуме, но в них рассмотрено либо наследование прав, либо их повышение. Понижения или отключения наследования прав найти нигде не удалось.
Ситуация такая: определенная программа автоматически запускается с правами администратора при входе в виндовз (через плановщик винды), в свою очередь она может запускать другие программы, которые по умолчанию наследуют ее права (т.е. будут вызваны от имени администратора). А нужно чтобы дочерние программы запускались с обычными правами (т.е. как и большинство программ в системе), т.е. запретить RunAsInvoker (наследование прав от родительского процесса) Что пробовал: 1) Стандартная утилита RUNAS, которая запускает программы с разрешениями, отличными от тех, которые предоставляет текущая учетная запись RUNAS /trustlevel:<TrustLevel> program /showtrustlevels displays the trust levels that can be used as arguments to /trustlevel. /trustlevel <Level> should be one of levels enumerated in /showtrustlevels. Elevation PowerToys, который как я понял основан на RUNAS тоже не выглядит работоспособным даже Elevation PowerToys последней версии. 2) Для повышения прав встречаются такие решения, может есть что-то подобное для понижения прав? C:\Windows\System32\cmd.exe /C set __COMPAT_LAYER=RunAsInvoker & start “” “C:\Program Files (x86)\raidcall\raidcall.exe” 3) Утилита PsExec с ключом -l [и ключом -d, чтобы не появлялись черные окна, которые ожидают закрытия запускаемой программы] Единственный вариант который работает, программа запускается с пониженными правами (хотелось бы конечно с нормальными) даже при том что родительский процесс имеет права администратора. Но что-то с передачей параметров запускаемому приложению проблемно. Например, запуская такой код появляется только окно MS Access, а база не загружается с указанными параметрами PsExec.exe -l -d "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "C:\база данных.accdb" Upd: Похоже права понижаются слишком сильно, например, нет возможности создания пустой базы данных. Возможно ли повысить заниженные права до нормальных (чтобы Process Explorer показывал "средний обязательный уровень" вместо "низкий обязательный уровень")? Тэги: Force Run As Limited User, Force a program to run without administrator privileges, Runs a program as non-elevated user, Запуск приложения без повышенных прав (с правами обычного пользователя), Понижение прав приложений |
|
Отправлено: 01:52, 14-01-2014 |
(*.*) Сообщения: 36570
|
Профиль | Сайт | Отправить PM | Цитировать parkone, что мешает сделать еще одно задание планировщика без повышенных прав для запуска программ?
|
------- Отправлено: 10:07, 14-01-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Vadikan, программа должна работать во всех приложениях, в том числе и тех, которые работают от имени администратора. Но дочерние процессы должны запускаться с обычными правами, иначе нарушается взаимодействие с другими приложениями, которые не имеют прав администратора. В целом: некоторым программам нужны эти права, другим нет, но винда дает нормальные средства только для повышения прав, понижение через одно место кое-как только работает.
|
Отправлено: 12:47, 14-01-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата parkone:
|
|
Отправлено: 13:29, 14-01-2014 | #4 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Iska, разве что Марк Руссинович залогинится и даст несколько советов как это сделать )
На текущий момент вижу только вариант иметь какую-то предварительно запущенную с нормальными правами оболочку, которая сможет принимать команды на запуск дочерних процессов от управляющей программы (имеющей права администратора). Может кто подскажет чем можно воспользоваться для этих целей? |
|
Последний раз редактировалось parkone, 14-01-2014 в 14:10. Отправлено: 14:05, 14-01-2014 | #5 |
(*.*) Сообщения: 36570
|
Профиль | Сайт | Отправить PM | Цитировать parkone, тогда запускайте программу с обычными правами, а уже для запущенных из нее программ форсируйте повышение (ваш способ 2)
Просто мне непонятно, что это за мифическая программа, и почему решение должно быть именно таким, каким вы его сформулировали, но не нашли способов реализации. |
------- Отправлено: 17:09, 14-01-2014 | #6 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Vadikan, совсем не мифическая ) программа - AutoHotkey, в моем случае ее скрипты должны иметь доступ ко всем приложениями, а т.к. некоторые приложения запущены от имени администратора, то понятно что и AutoHotkey должен иметь эти же привелегии. Кроме прочего, скрипты ahk запускают дочерние процессы, которые наследуют права администратора, последнее как раз мешает. Часть проблемы решается обходным путем, эмулированием нажатий Win+1,2,3 и т.п. Но прикреплять все программы в панель задач - нонсенс.
Решение с повышением понятно не подходит, т.к. ahk запущена перманентно. Придется поковыряться еще с RUNAS и если не получится, то попробовать запустить nircmd как службу и попробовать сделать запуск через него, хотя службы похоже имеют еще большие права, но нужно попробовать ) |
Отправлено: 17:41, 14-01-2014 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать parkone, здесь: Run as standard (limited) user - Scripts - AutoHotkey Community смотрели, пробовали?
|
Отправлено: 18:28, 14-01-2014 | #8 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Iska, попробую, спасибо!
То что по ссылке не заработало, но решение отсюда работает (на основе Task Scheduler Scripting Objects) позволяя запускать с параметрами и средним обязательным уровнем. Собственно то что я хотел попытаться сделать, но до использования Task Scheduler в качестве оболочки вряд ли бы додумался, не говоря о реализации )) Не разобрался только как добавить приоритет создаваемой задачи, вот так не работает В свойстве TaskDefinition.Settings по документации присутствует свойство Priority Upd. Разобрался, просто перенес свойство Priority повыше, начало нормально работать ) Мозг перегрелся, но вопрос решен. Спасибо Iska и Vadikan за помощь! P.S. запуск с пониженными правами через командную строку и schtasks.exe |
Последний раз редактировалось parkone, 16-01-2014 в 17:11. Отправлено: 18:32, 14-01-2014 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Запуск проги с правами администратора | DeepWaters | Хочу все знать | 1 | 08-08-2013 11:25 | |
Redhat/Fedora - Запуск Apache с правами root | NetWolf | Общий по Linux | 5 | 28-05-2010 17:46 | |
Доступ - Запуск DOS приложения и вывод на печать с правами пользователя | ss777 | Microsoft Windows 2000/XP | 0 | 27-06-2008 07:30 | |
Приложения с повышенными правами | shefford | Microsoft Windows NT/2000/2003 | 3 | 08-12-2007 21:07 | |
Запуск програм с правами администратора | Harkalada | Программирование и базы данных | 1 | 17-10-2003 09:54 |
|