14 votes

Exécuter Windows sans connaître le mot de passe

Nous installons un système de médias numériques à la station de radio du collège où je travaille. Nous essayons de donner aux programmeurs (c'est-à-dire; les DJ, pas les codeurs) accès à la musique, sans leur permettre de la copier sur leurs clés USB ou de la transférer via Internet.

Nous utilisons des systèmes Windows (Windows XP pour les machines clientes, et Windows Server 2008 pour le serveur de médias). Mon idée est la suivante.

  • Créer un utilisateur (ProgramUser) qui n'a absolument aucun accès aux médias numériques.
  • Créer un utilisateur (MediaUser) qui a un accès en lecture seule aux médias numériques que les programmeurs ne connaissent pas et dont ils ne connaissent pas le mot de passe.
  • Faire en sorte que les utilisateurs se connectent à Windows en tant que ProgramUser, ne leur donnant aucun accès aux médias.
  • Exécuter notre application de lecture (Traktor) en tant que MediaUser, permettant ainsi au programmeur de lire les médias sans pouvoir les copier ou les modifier.

Cela semble être la solution parfaite, mais il y a un hic. Si l'application de lecture ou la machine plante, le programmeur est la seule personne capable de la faire fonctionner à nouveau en un laps de temps raisonnable (nous sommes une station de radio FM de 15 kW, donc les temps d'arrêt sont très importants). C'est pourquoi j'ai ce dilemme...

Comment puis-je donner au programmeur la possibilité de démarrer notre application de lecture en tant qu'utilisateur dont ils ne connaissent pas le mot de passe ?

32voto

sudo.bat

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

étonnamment, il ne redemandera pas le mot de passe même après un redémarrage ou une panne de courant

1voto

Dinah Points 15711

...sans leur permettre de copier quoi que ce soit sur leurs clés USB ou de le transférer via Internet

Désactivez les clés USB, l'accès à Internet, etc. sur ces machines.

0voto

Il existe quelques moyens auxquels je pense rapidement pour contourner ce problème. Premièrement (et de manière plus difficile), ce 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é, beaucoup plus facile, serait de mettre en place 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 plante jamais, les programmeurs n'ont qu'à se connecter, et ils ont un nouveau Traktor qui s'exécute en tant que MediaUser!

En espérant que l'une de ces solutions fonctionnera pour vous!

0voto

Vous pouvez créer un programme qui lance le processus de MediaUser pour le DJ. Cela peut être fait de sorte qu'il s'exécute en tant que ProgramUser.

Le mot de passe/les informations d'identification de MediaUser devraient être intégrés dans le programme, de sorte qu'il connaisse le mot de passe, mais l'utilisateur final n'aurait jamais besoin d'en être informé. Ils auraient simplement un bouton ou un programme qui dit "Redémarrer Tracktor", et il peut faire tout le travail.

Voici un exemple en C#. La seule modification serait de coder en dur les informations d'identification pour que le DJ ne les voie pas.

0voto

La situation idéale serait que vous modifiez Traktor pour qu'il fonctionne comme un service, avec une interface graphique séparée. Cela vous offre les meilleures options de sécurité - Traktor fonctionnerait alors en tant qu'utilisateur avec les bons identifiants, et personne n'a besoin de savoir ce qu'ils sont, ni de taper le mot de passe pour le redémarrer. En fait, vous pouvez le faire redémarrer automatiquement en cas de crash dans le snapin des services.

Votre interface graphique pour piloter Traktor serait alors écrite comme sa propre application que l'utilisateur exécute elle-même, 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 l'utilisateur veut. Si vous avez fait fonctionner l'interface graphique en utilisant un protocole de réseau croisé (par exemple, TCP/IP) alors l'utilisateur peut se connecter à sa station de travail et le service Traktor peut fonctionner sur un serveur plus fiable, éventuellement verrouillé pour éviter les redémarrages "accidentels". Si vous êtes doué, vous pourriez écrire une application web pour piloter Traktor à la place (c'est-à-dire, le serveur web enverrait les messages au service) et votre utilisateur pourrait piloter la station depuis chez lui !

Le service Traktor serait démarré avec le serveur, sans besoin d'être connecté.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X