Restringir login usuario al entorno grafico por horarios exDebian

Restringir login usuario al entorno grafico por horarios

4 envíos / 0 nuevos
Último envío
#1 Vie, 13/04/2018 - 03:55
ralicarr
Imagen de ralicarr
Desconectado/a
se unió: 13/04/18

Restringir login usuario al entorno grafico por horarios

Estado: 
[SOLUCIONADO]

Hola chic@s,

Pues lo primero gracias de antemano por vuestra ayuda.

Tengo todos mis ordenadores con debian9 y en casa quisiera restringir el uso de los equipos a los peques, sin instalar un proxy, radius o añadir otro equipo suplementario, la idea es que aunque arranquen el ordenador X no puedan hacer login en dicha maquina.

ejemplo: usuario1 no puede usar el equipo entre las 08:00 y las 18:00 H, lo he logrado para las conexiones al terminal con Pam_time, pero el login en gnome, xfce sigue funcionando.

existe alguna herramienta que haga esto? incluso instalé webmin y en la gestión de usuarios no hay ninguna opción que permita estas opciones. Preciso que soy un privado autodidacta y no un administrador profesional, mi experiencia con linux es basicamente casera, me encanta este sistema por su fiabilidad y estabilidad.

Vie, 13/04/2018 - 11:09
rockyiii
Imagen de rockyiii
Desconectado/a
administrator
se unió: 11/01/16

Con el comando usermod vas a poder bloquear (L) y desbloquear (U) a un usuario. Se podría crear algún tipo de script bash/python etc  que de acuerdo al horario ejecute usermod para bloquear o desbloquear a usuarios o a aquellos que formen parte de un grupo (G) (por ejemplo el grupo hijos) y ejecutarlo con cron o como demonio.

si queres algo más gráfico y simple proba de instalar timekpr que si bien esta en un repositorio launchpad.net seguramente la versión para ubuntu 17 va a correr muy bien en debian

saludos...

Vie, 13/04/2018 - 12:22
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Como te han comentado hay mas de una forma de hacerlo 

Supongamos que utilizando el comando  mencionado por @rockiii , un script en bash

#! /bin/bash
usermod -L bla 

Luego le das permiso de ejecución al script ,  y finalmente lo pones editando crontab para que lo ejecute a determinada hora del dia .todos los días ( o el arreglo de días y horas de la semana/mes que gustes ) 

A determinada hora de cada dia bloquea , luego un segundo script que desbloquee  a otra hora .

Tene en cuenta que solo root ,podrá ejecutar el script ,por lo tanto deberá ser agregado en el crontaba de root.

Una opción es editar la configuración de sudoers , y agregar a tu usuario para que pueda ejecutar ese comando , entonces  el script quedaría 

#! /bin/bash
sudo usermod -L bla 

(se entiende que el usuario es 'bla' 

En conclusión  dos script simples , que ejecuten el comando y crontab    indica cuando se ejecutaran .

Ejemplo de unas entradas  en el crontab  para ejecutar scripts , 

00 08 * * *  /ruta/a/script  # cada dia a las 8 horas 
00 18 * * *  /ruta/a/script2  # cada dia a las 18 horas
@reboot      /ruta/a/script3  # en cada reinicio 

Como he dicho es solo un ejemplo y un modo . 

Bien podrías limitar el uso de la computadora reservándote la contraseña para que puedan iniciar el sistema.

Edito:

 

¿Un garrote ? ( pequeño,claro )

Lun, 16/04/2018 - 04:51
ralicarr
Imagen de ralicarr
Desconectado/a
se unió: 13/04/18

Hola,

Muchisimas gracias a tod@s por vuestra ayuda, el asunto queda resuelto de la siguiente manera:

en (/etc/pam.d/login) tenemos que habilitar la linea (account requisite pam_time.so) descomentandola, Luego vamos a ( /etc/security/time.conf )y añadimos la regla horaria que queramos, en mi caso (*:*: casa: !Al0930-1500)  lo que bloquea el login a todos los servicios al usuario casa todos los dias de 9:30 a las 15:00 Horas.

Mi problema residia en algunos errores de sintasis y sobre todo que no tenia instalado el protocolo NTP, se conoce que ntp es imprescindible para el funcionamiento de pam_time.

Gracias de nuevo