Nous installons un système de médias numériques à la station de radio universitaire où je travaille. Nous essayons de donner aux programmeurs (lecture; DJs, pas codeurs) un accès à la musique, sans leur permettre de copier quoi que ce soit sur leurs lecteurs flash ou de la transférer sur Internet.
Nous fonctionnons sur les systèmes Windows (Windows XP pour les machines clientes et Windows Server 2008 pour le serveur multimédia). Mon idée est la suivante.
- Créez un utilisateur (ProgramUser) qui n'a aucun accès aux médias numériques.
- Créez un utilisateur (MediaUser) qui a un accès en lecture seule aux médias numériques dont les programmeurs ne savent rien et ne connaissent pas le mot de passe.
- Demandez aux utilisateurs de se connecter à Windows en tant que ProgramUser, ce qui ne leur donne aucun accès aux médias.
- Exécutez notre application de lecture ( Traktor ) en tant que MediaUser, permettant au programmeur de lire des médias mais pas de les copier ou de les modifier.
Cela semble être la solution parfaite, mais il y a un problème. Si l'application de lecture ou la machine tombe en panne, le programmeur est la seule personne qui pourra le faire fonctionner à nouveau dans un délai raisonnable (nous sommes une station de radio FM de 15 kW, donc les temps d'arrêt sont un gros problème). D'où mon dilemme ...
Comment donner au programmeur la possibilité de démarrer notre application de lecture en tant qu'utilisateur dont il ne connaît pas le mot de passe?
la source
Désactivez les lecteurs flash USB, l'accès Internet, etc. sur ces machines.
la source
Il y a quelques façons dont je peux penser de manière autonome pour peut-être contourner ce problème. La première (et plus difficile) serait d'écrire un petit service Windows qui lance Traktor. Ainsi, le ProgramUser peut demander au service une nouvelle instance de Traktor, et le service s'exécute en tant que MediaUser, donc Traktor est lancé en tant que MediaUser.
Une autre possibilité, et beaucoup plus simple, consiste à configurer un raccourci de démarrage qui lance Traktor à chaque connexion - les raccourcis Windows vous permettent de définir les informations d'identification de l'utilisateur approprié dans les propriétés du raccourci. Si l'ordinateur tombe en panne, les programmeurs ont juste besoin de se connecter et ils ont un nouveau Traktor fonctionnant en tant que MediaUser!
J'espère que l'une de ces solutions fonctionnera pour vous!
la source
Vous pouvez créer un programme qui démarre le processus de MediaUser pour le DJ. Cela peut être fait pour qu'il s'exécute en tant que ProgramUser.
Le mot de passe / informations d'identification pour MediaUser devra être compilé dans le programme, afin qu'il connaisse le mot de passe, mais l'utilisateur final n'aura jamais besoin de le savoir. Ils auraient juste un bouton ou un programme qui dit "Redémarrer Tracktor", et il peut faire tout le travail.
Voici un exemple C # du processus. Le seul changement serait de coder en dur les informations d'identification afin que le DJ ne les voie pas.
la source
Jetez un œil à Steel RunAs. Je l'ai utilisé pour plusieurs scripts dans ma carrière SysAdmin quand aucune autre alternative n'était plausible. C'est vraiment pratique. Il génère un fichier exécutable, dans lequel il crypte les informations d'identification stockées. Lien
la source
La situation idéale serait pour vous de modifier Traktor pour qu'il fonctionne en tant que service, avec une interface graphique distincte. Cela vous donne les meilleures options de sécurité - Traktor s'exécuterait alors en tant qu'utilisateur avec les informations d'identification correctes, et personne n'a besoin de savoir de quoi il s'agit, ou de taper le mot de passe pour le redémarrer. En fait, vous pouvez le faire redémarrer lui-même s'il se bloque dans le composant logiciel enfichable des services.
Votre interface graphique pour piloter Traktor est ensuite écrite comme sa propre application que l'utilisateur exécute en tant que telle, elle envoie des messages au service Traktor (via TCP / IP, RPC, mémoire partagée ou toute autre forme d'IPC) pour lui faire faire ce que le l'utilisateur veut. Si vous avez fait fonctionner l'interface graphique à l'aide d'un protocole inter-réseau (par exemple, TCP / IP), l'utilisateur peut se connecter à son poste de travail et le service traktor peut s'exécuter sur un serveur plus fiable, éventuellement verrouillé pour empêcher les redémarrages "accidentels". Si vous êtes bon, vous pourriez écrire une application Web pour conduire Traktor à la place (c'est-à-dire que le serveur Web enverrait les messages au service) et votre utilisateur pourrait exécuter la station depuis chez lui!
Le service traktor serait démarré avec le serveur, sans avoir besoin d'être connecté.
la source