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

13

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

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

  • Создайте пользователя (ProgramUser), который вообще не имеет доступа к цифровому медиа.
  • Создайте пользователя (MediaUser), который имеет доступ только для чтения к цифровому носителю, о котором программисты ничего не знают и не знают пароля.
  • Пусть пользователи войдут в Windows как ProgramUser, не давая им вообще никакого доступа к медиа.
  • Запустите наше приложение воспроизведения ( Traktor ) в качестве MediaUser, позволяя программисту воспроизводить медиа, но не копировать или изменять его.

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

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

Peter Mortensen
источник

Ответы:

32

sudo.bat

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

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

Jonny
источник
2
+1 за правильный ответ. Боже мой, это дыра в безопасности
Дейв Чейни
серьезно, как это не известно, чтобы быть дырой в безопасности? Почему это открыто ?!
Marm0t
2
Я вполне уверен, что это работает, только если пароль для учетной записи был сохранен в Диспетчере учетных данных, так что это на самом деле не дыра в безопасности больше, чем в OSX или любой другой системе, где учетные данные могут быть сохранены и использованы повторно.
Марк Хендерсон
Вам все еще нужно знать пароль в первый раз, и он перестанет работать, если он изменится.
ivan_pozdeev
1

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

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

Duncan Smart
источник
0

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

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

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

Майк
источник
Я и другой администратор - инженеры программного обеспечения, так что это не будет проблемой. Мы также запускаем другой сервис, который контролирует нашу микшерную плату для ввода GPIO, так что это то, что мы уже делаем. Это отличная идея, спасибо!
0

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

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

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

Рид Копси
источник
Это в основном то, что я собирался предложить, но с оговоркой, что это безопасность через неизвестность. Если конечные пользователи смогут найти и запустить копию procmon или procxp, они смогут без проблем получить пароль.
Райан Болджер
@Ryan: Как вы получаете пароль от procmon или procxp в этой ситуации? Вы можете получить имя пользователя, под которым выполняется процесс, но я не думал, что вы сможете получить учетные данные. Я понимаю, что ред. разработка исполняемого файла с жестко заданным паролем сделает это, но кроме этого, как вы получите эту информацию?
0

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

Ник Жак
источник
0

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

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

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

Peter Mortensen
источник
Интересная идея, но Traktor очень проприетарен и не имеет API. Единственными точками интеграции являются MIDI, Send Keys и VST Plugins. Хотя идея Traktor как сервисного движка воспроизведения с настраиваемым пользовательским интерфейсом привлекательна, когда мы рассматриваем более надежные пользовательские интерфейсы, которые обрабатывают такие вещи, как создание диаграмм и создание списков воспроизведения.