Запуск интерактивного приложения при старте системы
От: leon_n  
Дата: 22.01.07 21:50
Оценка:
Привет
схема такая: программа заносится в список задач Scheduled Tasks и запускается
при старте системы. При этом она должна иметь доступ к сетевой папке (например
создавать там файл). После регистрации пользователя программа должна отображать
свое окно.
Все вроде просто и работает, но внесли некоторые ограничения:
— программа должна запускаться под аккаунтом пользователя (при этом
автоматически имеется доступ к сетевому ресурсу и из-за этого и не хотелось бы
ее запускать из под админа, чтобы не прописывать админа на другой машине)
— программа не должна хранить никаких дополнительных паролей (то есть
пользоваться только теми привелегиями, которыми обладает тот пользователь от
которого она запущена)
— связка сервис(как ядро) и программа (как его интерфейсная) часть не подходит;

Без прав админа не могу отобразить программу после регистрации пользователя
(требуется изменение DACL windows station & desctop). Возможно ли вообще такое?
Может есть какие скрытые параметры, с помощью которых можно дать пользователю
такие права?
А может подходить с другой стороны. Может ли программа, запущенная под админом,
открыть сетевое соединение под аккаунтом какого-нибудь пользователя имея только
его имя (sorry, возможно выглядит глупо, но может я чего то не знаю)
Подскажите плиз
Re: Запуск интерактивного приложения при старте системы
От: Andrew S Россия http://alchemy-lab.com
Дата: 23.01.07 09:49
Оценка:
_>Привет
_>схема такая: программа заносится в список задач Scheduled Tasks и запускается
_>при старте системы. При этом она должна иметь доступ к сетевой папке (например
_>создавать там файл). После регистрации пользователя программа должна отображать
_>свое окно.
_>Все вроде просто и работает, но внесли некоторые ограничения:
_>- программа должна запускаться под аккаунтом пользователя (при этом
_>автоматически имеется доступ к сетевому ресурсу и из-за этого и не хотелось бы
_>ее запускать из под админа, чтобы не прописывать админа на другой машине)
_>- программа не должна хранить никаких дополнительных паролей (то есть
_>пользоваться только теми привелегиями, которыми обладает тот пользователь от
_>которого она запущена)
_>- связка сервис(как ядро) и программа (как его интерфейсная) часть не подходит;

_>Без прав админа не могу отобразить программу после регистрации пользователя

_>(требуется изменение DACL windows station & desctop). Возможно ли вообще такое?
_>Может есть какие скрытые параметры, с помощью которых можно дать пользователю
_>такие права?

Нет. Кроме того, эта ущербная схема не будет работать в висте, где сервисы всегда работают в сессии, отличной от интерактивной. Итого — единственный вариант — сервис + приложение.

_>А может подходить с другой стороны. Может ли программа, запущенная под админом,

_>открыть сетевое соединение под аккаунтом какого-нибудь пользователя имея только
_>его имя (sorry, возможно выглядит глупо, но может я чего то не знаю)

Тоже нет — если только попробовать найти процесс с указанным SID и имперсонироваться под него.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[2]: Запуск интерактивного приложения при старте системы
От: leon_n  
Дата: 23.01.07 12:55
Оценка:
AS>Нет. Кроме того, эта ущербная схема не будет работать в висте, где сервисы всегда работают в сессии, отличной от интерактивной. Итого — единственный вариант — сервис + приложение.

Возможно да, это единственный хороший вариант, к тому же MSDN рекомендует делать именно так. Но больно переделок много (переносить всю функциональность в сервис).
Есть одна мысль:
В Scheduled Tasks заносится 2 задания: А) под аккаунтом админа, второе В) — под аккаунтом пользователя.
Причем сначала запускается А, и только после него В. Программа А открывает windows station (WinSta0) & desktop (Default) изменяет их DACL (добавляет необходимы права) и закрывается. Программа В только подключается к WinSta0\Default. После регистрации пользователя, проблем с отображением у программы В не возникает.
Пока это только идея (что-то под админом меняет DACL`ы и затем запускается основная программа под юзером и только потом происходит регистрация юзера)
Будут ли здесь какие-либо "подводные камни", неожиданности? Всегда ли не будет проблем с отображением основной программы? (будет использоваться только на Win2K и выше).


AS>Тоже нет — если только попробовать найти процесс с указанным SID и имперсонироваться под него.


Этого я и ожидал.
Спасибо.
Re[3]: Запуск интерактивного приложения при старте системы
От: Andrew S Россия http://alchemy-lab.com
Дата: 23.01.07 13:14
Оценка:
AS>>Нет. Кроме того, эта ущербная схема не будет работать в висте, где сервисы всегда работают в сессии, отличной от интерактивной. Итого — единственный вариант — сервис + приложение.

_>Возможно да, это единственный хороший вариант, к тому же MSDN рекомендует делать именно так. Но больно переделок много (переносить всю функциональность в сервис).

_>Есть одна мысль:
_>В Scheduled Tasks заносится 2 задания: А) под аккаунтом админа, второе В) — под аккаунтом пользователя.
_>Причем сначала запускается А, и только после него В. Программа А открывает windows station (WinSta0) & desktop (Default) изменяет их DACL (добавляет необходимы права) и закрывается. Программа В только подключается к WinSta0\Default. После регистрации пользователя, проблем с отображением у программы В не возникает.
_>Пока это только идея (что-то под админом меняет DACL`ы и затем запускается основная программа под юзером и только потом происходит регистрация юзера)
_>Будут ли здесь какие-либо "подводные камни", неожиданности? Всегда ли не будет проблем с отображением основной программы? (будет использоваться только на Win2K и выше).

Тут надо только пробовать . Но на первый взгляд, схема жизнеспособная.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.