Estamos instalando un sistema de medios digitales en la estación de radio de la universidad en la que trabajo. Estamos tratando de darles a los programadores (lectura; DJs, no codificadores) acceso a la música, sin permitirles copiar nada de eso en sus unidades flash o transferirlo a través de Internet.
Estamos ejecutando en sistemas Windows (Windows XP para las máquinas cliente y Windows Server 2008 para el servidor de medios). Mi idea es esta
- Cree un usuario (ProgramUser) que no tenga ningún acceso a los medios digitales.
- Cree un usuario (MediaUser) que tenga acceso de solo lectura a los medios digitales del que los programadores no sepan nada y no conozcan la contraseña.
- Haga que los usuarios inicien sesión en Windows como ProgramUser, sin darles acceso a los medios.
- Ejecute nuestra aplicación de reproducción ( Traktor ) como MediaUser, lo que permite al programador reproducir medios pero no copiarlos ni modificarlos.
Esta parece ser la solución perfecta, pero hay un problema. Si la aplicación de reproducción o la máquina falla, el programador es la única persona que podrá hacer que vuelva a funcionar en un tiempo razonable (somos una estación de radio FM de 15 kW, por lo que el tiempo de inactividad es un gran problema). De ahí mi dilema ...
¿Cómo puedo darle al programador la capacidad de iniciar nuestra aplicación de reproducción como un usuario al que no conoce la contraseña?
fuente
Desactive las unidades flash USB, el acceso a Internet, etc. en estas máquinas.
fuente
Hay un par de maneras en las que puedo pensar de manera informal para evitar este problema. Primero (y más difícil) sería escribir un pequeño servicio de Windows que inicie Traktor. Por lo tanto, el ProgramUser puede solicitar al servicio una nueva instancia de Traktor, y el servicio se ejecuta como MediaUser, por lo que Traktor se inicia como MediaUser.
Otra posibilidad, y mucho más fácil, es tener un acceso directo de inicio configurado que inicie Traktor en cada inicio de sesión: los accesos directos de Windows le permiten establecer las credenciales del usuario apropiado en las propiedades de acceso directo. Si la computadora falla, los programadores solo necesitan iniciar sesión, ¡y tienen un nuevo Traktor ejecutándose como MediaUser!
¡Esperemos que una de estas soluciones funcione para usted!
fuente
Puede crear un programa que inicie el proceso de MediaUser para el DJ. Esto se puede hacer para que se ejecute como ProgramUser.
La contraseña / credenciales para MediaUser necesitaría compilarse en el programa, de modo que conociera la contraseña, pero el usuario final nunca necesitaría estar al tanto de esto. Simplemente tendrían un botón o programa que diga "Reiniciar Tracktor", y puede hacer todo el trabajo.
Aquí hay un ejemplo de C # del proceso. El único cambio sería codificar las credenciales para que el DJ no las vea.
fuente
Echa un vistazo a Steel RunAs. Lo he usado para varios scripts en mi carrera de SysAdmin cuando no había otras alternativas posibles. Definitivamente es útil. Genera un archivo ejecutable, en el que cifra las credenciales almacenadas. Enlace
fuente
La situación ideal sería que modifiques Traktor para que se ejecute como un servicio, con una GUI separada. Esto le brinda las mejores opciones de seguridad: Traktor se ejecutará como el usuario con las credenciales correctas, y nadie necesita saber cuáles son, o necesita ingresar la contraseña para reiniciarla. De hecho, puede hacer que se reinicie si se bloquea en el complemento de servicios.
Su GUI para conducir Traktor se escribe como su propia aplicación que el usuario ejecuta como ella misma, envía mensajes al servicio de Traktor (a través de TCP / IP, RPC, memoria compartida o cualquier otra forma de IPC) para que haga lo que el El usuario quiere. Si hizo que la GUI funcionara utilizando un protocolo de red cruzada (por ejemplo, TCP / IP), el usuario puede iniciar sesión en su estación de trabajo y el servicio traktor puede ejecutarse en un servidor más confiable, posiblemente bloqueado para evitar reinicios "accidentales". Si eres bueno, podrías escribir una aplicación web para manejar Traktor (es decir, el servidor web enviaría los mensajes al servicio) y tu usuario podría ejecutar la estación desde casa.
El servicio traktor se iniciaría con el servidor, sin necesidad de iniciar sesión.
fuente