Wir installieren ein digitales Mediensystem bei dem College-Radiosender, bei dem ich arbeite. Wir versuchen, Programmierern (Lesern, DJs, nicht Programmierern) Zugriff auf die Musik zu gewähren, ohne dass sie diese auf ihre Flash-Laufwerke kopieren oder über das Internet übertragen können.
Wir verwenden Windows-Systeme (Windows XP für die Clientcomputer und Windows Server 2008 für den Medienserver). Meine Idee ist das.
- Erstellen Sie einen Benutzer (ProgramUser), der überhaupt keinen Zugriff auf die digitalen Medien hat.
- Erstellen Sie einen Benutzer (MediaUser), der nur über Lesezugriff auf die digitalen Medien verfügt, über die Programmierer nichts wissen und über die das Kennwort nicht bekannt ist.
- Lassen Sie Benutzer sich als ProgramUser bei Windows anmelden, sodass sie überhaupt keinen Zugriff auf die Medien haben.
- Führen Sie unsere Wiedergabeanwendung ( Traktor ) als MediaUser aus, damit der Programmierer Medien wiedergeben, aber nicht kopieren oder ändern kann.
Dies scheint die perfekte Lösung zu sein, aber es gibt eine Sache. Wenn die Wiedergabeanwendung oder der Computer abstürzt, ist der Programmierer die einzige Person, die in der Lage ist, sie in angemessener Zeit wieder zum Laufen zu bringen (wir sind ein 15-kW-UKW-Radiosender, daher sind Ausfallzeiten ein großes Problem). Daher mein Dilemma ...
Wie kann ich dem Programmierer die Möglichkeit geben, unsere Wiedergabeanwendung als Benutzer zu starten, dessen Kennwort er nicht kennt?
quelle
Deaktivieren Sie USB-Sticks, Internetzugang usw. auf diesen Computern.
quelle
Es gibt ein paar Möglichkeiten, die ich mir vorstellen kann, um dieses Problem zu umgehen. Zunächst (und schwieriger) wäre es, einen kleinen Windows-Dienst zu schreiben, der Traktor startet. Auf diese Weise kann der ProgramUser den Dienst nach einer neuen Traktor-Instanz fragen, und der Dienst wird als MediaUser ausgeführt, sodass Traktor als MediaUser gestartet wird.
Eine andere und viel einfachere Möglichkeit besteht darin, eine Startverknüpfung einzurichten, die Traktor bei jedem Anmelden startet. Mithilfe von Windows-Verknüpfungen können Sie die Anmeldeinformationen des entsprechenden Benutzers in den Verknüpfungseigenschaften festlegen. Wenn der Computer jemals abstürzt, müssen sich die Programmierer nur einloggen und sie haben einen neuen Traktor, der als MediaUser läuft!
Hoffentlich funktioniert eine dieser Lösungen für Sie!
quelle
Sie können ein Programm erstellen, das den MediaUser-Prozess für den DJ startet. Dies kann so erfolgen, dass es als ProgramUser ausgeführt wird.
Das Kennwort / die Anmeldeinformationen für MediaUser müssten in das Programm kompiliert werden, damit es das Kennwort kennt, aber der Endbenutzer müsste sich dessen niemals bewusst sein. Sie hätten nur eine Schaltfläche oder ein Programm mit der Aufschrift "Tracktor neu starten", mit dem die gesamte Arbeit erledigt werden kann.
Hier ist ein C # -Beispiel des Prozesses. Die einzige Änderung wäre, die Anmeldeinformationen fest zu codieren, damit der DJ sie nicht sieht.
quelle
Schauen Sie sich Steel RunAs an. Ich habe es für mehrere Skripte in meiner SysAdmin-Karriere verwendet, als keine anderen Alternativen plausibel waren. Es ist definitiv praktisch. Es generiert eine ausführbare Datei, in der gespeicherte Anmeldeinformationen verschlüsselt werden. Verknüpfung
quelle
Die ideale Situation wäre, wenn Sie Traktor so ändern, dass es als Dienst mit einer separaten GUI ausgeführt wird. Dies gibt Ihnen die besten Sicherheitsoptionen - Traktor wird dann als Benutzer mit den richtigen Anmeldeinformationen ausgeführt, und niemand muss wissen, um welche es sich handelt, oder muss das Kennwort eingeben, um es neu zu starten. Sie können sogar einen Neustart durchführen, wenn das Dienst-Snapin abstürzt.
Ihre grafische Benutzeroberfläche für Traktor wird dann als eigene Anwendung geschrieben, die die Benutzerin selbst ausführt. Sie sendet Nachrichten an den Traktor-Dienst (über TCP / IP, RPC, gemeinsam genutzten Speicher oder eine andere Form von IPC), damit dieser die erforderlichen Schritte ausführt Benutzer will. Wenn Sie die grafische Benutzeroberfläche mit einem netzwerkübergreifenden Protokoll (z. B. TCP / IP) eingerichtet haben, kann sich der Benutzer bei seiner Arbeitsstation anmelden und der Traktor-Dienst kann auf einem zuverlässigeren Server ausgeführt werden, der möglicherweise gesperrt ist, um "versehentliche" Neustarts zu verhindern. Wenn Sie gut sind, können Sie stattdessen eine Webanwendung schreiben, um Traktor zu betreiben (das heißt, der Webserver sendet die Nachrichten an den Dienst), und Ihr Benutzer kann die Station von zu Hause aus ausführen!
Der Traktor-Dienst würde mit dem Server gestartet, ohne angemeldet zu sein.
quelle