Назад | Перейти на главную страницу

Windows «Запуск от имени» без пароля

Мы устанавливаем цифровую мультимедийную систему на радиостанции колледжа, где я работаю. Мы пытаемся предоставить программистам (читай; ди-джеям, а не кодерам) доступ к музыке, не позволяя им копировать ее на свои флеш-накопители или передавать через Интернет.

Мы работаем в системах Windows (Windows XP для клиентских машин и Windows Server 2008 для медиа-сервера). Моя идея такая.

Это кажется идеальным решением, но есть одна ошибка. Если приложение для воспроизведения или машина выйдет из строя, программист - единственный человек, который сможет запустить его снова в разумные сроки (мы являемся FM-радиостанцией мощностью 15 кВт, поэтому простои - это большое дело). Отсюда моя дилемма ...

Как я могу дать программисту возможность запускать наше приложение воспроизведения от имени пользователя, которому он не знает пароль?

sudo.bat

@echo off
runas /user:Administrator /savecred %1

на удивление, он больше не запрашивает пароль даже после перезагрузки или сбоя питания

... не позволяя им копировать какие-либо из них на свои флэш-накопители или передавать их через Интернет

Отключите на этих машинах USB-накопители, доступ в Интернет и т. Д.

Я могу придумать несколько способов обойти эту проблему. Первым (и более сложным) было бы написать небольшую службу Windows, запускающую Traktor. Таким образом, ProgramUser может запросить у службы новый экземпляр Traktor, и служба работает как MediaUser, поэтому Traktor запускается как MediaUser.

Другая возможность, и гораздо более простая, - настроить ярлык запуска, который запускает Traktor при каждом входе в систему - ярлыки Windows позволяют вам установить учетные данные соответствующего пользователя в свойствах ярлыка. Если компьютер когда-либо выйдет из строя, программистам просто нужно войти в систему, и у них будет новый Traktor, работающий как MediaUser!

Надеюсь, одно из этих решений сработает для вас!

Вы можете создать программу, которая запускает процесс MediaUser для ди-джея. Это можно сделать так, чтобы он запускался как ProgramUser.

Пароль / учетные данные для MediaUser необходимо будет скомпилировать в программу, чтобы она знала пароль, но конечный пользователь никогда не должен знать об этом. У них была бы просто кнопка или программа с надписью «Перезапустить тректор», и она могла бы делать всю работу.

Вот пример процесса на C #. Единственное изменение - это жесткое кодирование учетных данных, чтобы ди-джей их не видел.

Взгляните на Steel RunAs. Я использовал его для нескольких сценариев за свою карьеру системного администратора, когда никакие другие альтернативы не были подходящими. Это определенно удобно. Он создает исполняемый файл, в котором шифрует сохраненные учетные данные. Связь

В идеале вы можете модифицировать Traktor для работы в качестве службы с отдельным графическим интерфейсом. Это дает вам наилучшие параметры безопасности - Traktor будет тогда работать как пользователь с правильными учетными данными, и никому не нужно знать, что они собой представляют, или нужно вводить пароль для его перезапуска. Фактически, вы можете заставить его перезапуститься, если он выйдет из строя в оснастке служб.

Ваш графический интерфейс для управления Traktor затем записывается как собственное приложение, которое пользователь запускает от своего имени, он отправляет сообщения службе Traktor (через TCP / IP, RPC, общую память или любую другую форму IPC), чтобы заставить ее делать то, что пользователь хочет. Если вы заставили графический интерфейс работать с использованием межсетевого протокола (например, TCP / IP), то пользователь может войти на свою рабочую станцию, и служба traktor может работать на более надежном сервере, возможно, заблокированном для предотвращения «случайных» перезагрузок. Если у вас все хорошо, вы можете вместо этого написать веб-приложение для управления Traktor (то есть веб-сервер будет отправлять сообщения в службу), и ваш пользователь сможет запускать станцию ​​из дома!

Сервис traktor будет запущен с сервера без необходимости входа в систему.