Estoy intentando escribir un script que impida que el usuario en cuestión abra programas (principalmente navegadores de Internet) que se ejecuten durante un tiempo determinado (como entre 1000 y 1200 horas). Esto es como una suite de productividad. No tengo muchos problemas para implementar el problema de sincronización o el problema del usuario. Mi problema radica en la prevención de la ejecución de tareas.
Mi pregunta es: ¿Cómo detengo un proceso antes de que comience?
En este momento, tengo una implementación de bucle infinito con un pseudocódigo como:
while(1)
killall midori
killall firefox
sleep(60s)
end
Pero esto es agotador para la computadora y no quiero detener una tarea si comienza, quieroprevenirla tarea desde el principio.
Respuesta1
Hay varios métodos:
Elimine los ejecutables que desea limitar del almacenamiento conectado localmente en todas las estaciones de trabajo y hágalos accesibles solo en una unidad de red que usted controle.
Utilice la política SELinux para limitar la ejecución por estación de trabajo
Limite el acceso a los puertos, direcciones IP u otros recursos que los ejecutables infractores necesitan utilizando servidores proxy o simplemente iptables.
Ninguno de estos métodos será efectivo sin implementar primero un acuerdo de política de uso bien explicado que los usuarios deben firmar.