El acceso a nuestra computadora (no solo a Internet) debe restringirse para las cuentas de mis hijos (7, 8) hasta que tengan la edad suficiente para manejar esto por sí mismos. Hasta entonces, debemos poder definir lo siguiente:
- las horas del día en que la informática está bien (por ejemplo, de 5 a 9 p. m.)
- los días de la semana cuando la informática no está bien (por ejemplo, de lunes a viernes)
- la cantidad de tiempo permitido por día (por ejemplo, 2 horas)
En 11.10, todo lo siguiente que solía hacer el trabajo ya no funciona:
- Timekpr : para> 11.10 no más disponible a través del ppa.
- Timeoutd : alternativa de línea de comando, pero a partir de 11.10 eliminado de los repositorios .
- Gnome Nanny : Se ve muy bien pero se bloquea repetidamente para forzar el reinicio del servidor X. Por lo tanto, no podemos usar o recomendar este programa en este momento.
¿Hay otras alternativas?
Respuestas:
Temporizador de pantalla de bloqueo
Cree su propio temporizador de bloqueo de pantalla en lugar de aplicaciones de terceros
Aunque hay aplicaciones de terceros para hacer esto, puede crear las suyas propias. Resumen de pasos:
gedit
para crear scriptlock-screen-timer
lock-screen-timer
lock-screen-timer
como ejecutableUse
gedit
para crear scriptlock-screen-timer
Abra el
Terminal
uso de Ctrl+ Alt+ Ty escriba:Copie y pegue el código de la ventana de abajo para
lock-screen-timer
Vuelva a esta pantalla y copie el siguiente código resaltándolo y presionando Ctrl+ C:
Luego vuelva a la
gedit
ventana vacía y pegue el código usando Ctrl+ V. Guarde el archivo y salga del editor nuevamente al símbolo del sistema.Marcar
lock-screen-timer
como ejecutableAhora necesitamos hacer que el script sea ejecutable escribiendo:
¡Pruébalo!
Antes de llamar al script desde la GUI, lo llamaremos desde la terminal para que podamos ver si se muestran mensajes de error:
Se le solicita la cantidad de minutos:
Establezca el número deseado de minutos y haga clic en Aceptar para iniciar el temporizador. Cuando quedan 15, 10, 5, 3, 2 y 1 minuto (s), se escucha un sonido del sistema y aparece una burbuja de mensaje que le informa cuándo se bloqueará la pantalla. Después de bloquear la pantalla, debe ingresar su contraseña para desbloquearla.
Configure Nautilus para ejecutar scripts bash
Nautilus define lo que sucede cuando hacemos doble clic en un script ejecutable cuando se trata de la ventana de visualización de archivos o un enlace en el escritorio. El comportamiento normal es editar el script usando
gedit
. Queremos cambiar este comportamiento para que se ejecute.Inicie Nautilus y navegue al directorio que contiene
lock-screen-timer
. Haga clic izquierdo sobre él una vez para enfocarlo. Pase el mouse sobre la barra de menú superior hasta que aparezca el menú "Editar archivo ...", use:Edit
menú desplegableProperties
opciónBehavior
pestañaExecutable Text Files
Run executable text files when they are opened
Crear enlace de acceso directo de escritorio
De la sección anterior
lock-screen-timer
todavía tiene foco. De lo contrario, navegue hasta el script y haga clic izquierdo sobre él una vez para enfocarlo. Luego use:Make Link
.Link to lock-screen-timer
.Ahora puede hacer doble clic en el enlace de acceso directo del escritorio y se ejecuta el script. Aparece un cuadro de diálogo para obtener el número de minutos. Se presentan dos botones Cancely OK. Si hace clic en
X
para cerrar la ventana, es lo mismo que seleccionar Cancel.Después de que el temporizador se esté ejecutando y haga doble clic en él nuevamente, la primera copia en ejecución se "eliminará". Ahora puede comenzar una nueva cuenta regresiva de bloqueo de scren o hacer clic Cancelpara que no haya una cuenta regresiva.
Mostrar tiempo restante en el área de bandeja del sistema / notificación
Mientras el temporizador de la pantalla de bloqueo se está ejecutando, registra cuántos minutos quedan en el archivo
~/.lock-screen-timer-remaining
. Puede mirar este archivo con elwatch
comando o mostrarlo en la barra indicadora de la aplicación / bandeja del sistema de Ubuntu como se muestra en la parte superior de esta respuesta. Para mostrar el tiempo restante en el área de notificación, siga las instrucciones de estas preguntas y respuestas: ( ¿Puede BASH mostrarse en la bandeja del sistema como indicador de la aplicación? ).fuente
Ubuntu <= 11.10 Usuario sigue esta guía para el Usuario de Ubuntu> = 11.10 lee el aviso de la página inferior:
Sí, todos esos programas están desactualizados y todas sus preguntas se responden aquí y se ven bien con el control de sus padres .....
Cuando hablamos de obligar a un usuario a cerrar sesión, de lo que realmente estamos hablando es de implementar restricciones de tiempo en la cuenta para el acceso al sistema o los servicios. La forma más fácil que he encontrado para implementar restricciones de tiempo es usando un módulo de complemento llamado Linux-PAM .
El Módulo de autenticación conectable (PAM) es un mecanismo para autenticar a los usuarios. Específicamente, vamos a usar el
pam_time
módulo para controlar el acceso temporizado de los usuarios a los servicios.Usando el
pam_time
módulo, podemos establecer restricciones de acceso a un sistema y / o aplicaciones específicas en varios momentos del día, así como en días específicos o en varias líneas de terminales. Dependiendo de la configuración, puede usar este módulo para denegar el acceso a usuarios individuales en función de su nombre, la hora del día, el día de la semana, el servicio que solicitan y su terminal desde el que realizan la solicitud. .Al usar
pam_time
, debe terminar la sintaxis de cada línea (o regla) en el/etc/security/time.conf
archivo con una nueva línea. Puede comentar cada línea con el signo de número [#], y el sistema ignorará ese texto hasta la nueva línea.Aquí está la sintaxis de una regla:
Aquí hay un ejemplo de un conjunto típico de reglas:
Estas reglas restringen el inicio de sesión del usuario entre las horas de 0800 y 2000, y también restringen el acceso a Internet durante estas horas. Root también podría iniciar sesión en cualquier momento y navegar por Internet en todo momento.
Nota: El sistema registra errores con estas reglas como syslog (3).
Con Ubuntu Linux, es posible asignar restricciones de tiempo a su computadora, para evitar la conexión de uno o más usuarios a su sistema. Con las restricciones de tiempo, puede, por ejemplo, limitar el acceso a la computadora de sus hijos (una especie de control parental, en resumen) , o incluso proteger la conexión a su servidor durante ciertas horas.
Configuración manual
Entiende lo que harás
A lo largo de este tutorial, utilizaremos PAM (módulos de autenticación conectables, módulos de autenticación conectables en inglés). Le permite controlar la autenticación del usuario cuando se conectan. Luego, utilizaremos los archivos de configuración de seguridad para definir las horas de inicio de sesión permitidas. Estas manipulaciones se pueden realizar en cualquier versión de Ubuntu y requieren solo un editor de texto simple (vim, emacs, nano, gedit, kate, por nombrar algunos). Habilite las horas de restricciones a través del módulo PAM
En primer lugar, primero vaya a
/etc/pam.d/
, donde se encuentran todos los servicios configurables:Si queremos bloquear la conexión a la computadora, tendremos que cambiar el servicio gdm. Edite el archivo así que gdm y agregue esta línea de código (al final del archivo):
GDM es la distribución de la pantalla de inicio de sesión Ubuntu, Edubuntu y Xubuntu. Para Kubuntu, que usa KDE, se llama al servicio kdm, será el archivo que abrirá. ¡Y ya está listo para configurar el PAM! Esto permitirá el control de horas en este servicio.
Si tiene un servidor, probablemente no tenga GUI. En este caso, GDM / KDM no está instalado y la conexión no se bloqueará. Para evitar la conexión a TTY, debe modificar el inicio de sesión del mismo archivo y agregar la misma línea de código que la reconocida anteriormente. Esta acción también se aplica a las personas que han instalado una GUI y desean bloquear el acceso a la pantalla de inicio de sesión y a los terminales.
Configurar horas de acceso
Ahora que el servicio PAM se ha activado, solo tenemos que configurar los tiempos de acceso. Abre el
/etc/security
. Varios archivos de configuración están disponibles:Edita el archivo
time.conf
. Algunas explicaciones y ejemplos (inglés) que presentan el. Para establecer horarios de acceso, copie y pegue la siguiente línea de código (al final del archivo, como siempre):En lugar del campo de usuario, ingrese la cuenta de inicio de sesión que desea bloquear.
Si desea bloquear a múltiples usuarios, ingrese su inicio de sesión en una fila, separados por | operador. Por ejemplo, si quiero congelar las cuentas de Patrick, John y Emily:
Por contra, si desea bloquear el acceso al sistema para todos los usuarios excepto uno en particular, use el! ante la persona interesada. Por ejemplo, si quiero que el acceso a la computadora sea denegado para todos los usuarios, excepto Nicolas y Xavier:
Pasando ahora a las zonas de campo. En este campo que la selección de días y horas se permitirá la conexión posible. Primero debe especificar el día de la semana, utilizando las siguientes abreviaturas:
¡Tenga cuidado de no confundir las abreviaturas Wk y Wd son engañosas! particularmente mal identificado en Internet: ¡puede encontrar fácilmente información contradictoria!
Luego, especificamos los plazos. Estos deben estar formateados 24H, que consisten en 4 dígitos. Por ejemplo, para restringir las 3:17 pm a las 6:34 pm, escribimos: 1517-1834. Para permitir que Marie se conecte solo el martes, de 3:17 pm a 6:34 pm, obtenemos el resultado:
Se prohibirán las conexiones fuera de este horario. En cuanto a los usuarios, es posible utilizar los operadores | ¡y! para indicar varias veces (el! luego indica que todas las horas de inicio de sesión están permitidas, excepto las que se muestran).
Las dos estrellas (comodines) al comienzo de la línea de código son, respectivamente, y campos de servicios tty. Como desea bloquear todo el acceso al sistema, no es necesario especificar qué servicio o qué tty desea bloquear. Sin embargo, si desea evitar el uso de un servicio en particular, simplemente especifíquelo como el siguiente ejemplo:
Por lo tanto, el usuario se casa no puede conectarse a un TTY, 4 y 5 durante el fin de semana.
Algunos ejemplos de horario de restricciones
Mathilde puede conectarse todos los días de 1:20 p.m. a 3:20 p.m. y de 4:00 p.m. a 8:30 p.m.:
Stone, Frank y Florian pueden conectarse de 2:00 p.m. a 6:45 p.m. entre semana y de 2:00 p.m. a 10:15 p.m. durante el fin de semana:
A Olive nunca se le permite conectarse. Jessica puede iniciar sesión el miércoles de 1:00 p.m. a 4:00 p.m.:
2 líneas diferentes, por dos tiempos diferentes para cada usuario Vencimiento de una sesión
Cuando una sesión expira (excede el tiempo mientras el usuario ya está conectado), el PAM puede llegar al usuario. Si bien Mathilde se conecta durante las horas permitidas, ¡es perfectamente gratuito exceder estas horas! Para esto, usaremos un nuevo programa: ´cron´. Esta aplicación ejecuta comandos a intervalos de tiempo. En nuestro caso, utilizaremos el comando ´skill-KILL-u´ para desconectar al usuario cuando finalice la sesión. El manejo es muy simple. Simplemente edite el archivo ´ / etc / crontab´. Luego agregue la siguiente línea de código:
Como antes, reemplazando los horarios de campo de minutos y el tiempo deseado. Luego complete el día (s) por (s) día (s) prohibido (s), o simplemente escriba un asterisco (*) para indicar todos los días de la semana. Finalmente, cambie el campo utilizado por la cuenta de inicio de sesión para bloquearlo, ¡y listo!
¡Los días no se notan de la misma manera con los
cron
trabajos! Aquí está la lista de abreviaturas que se utilizarán con este programa:Algunos ejemplos de
cron
trabajos (con ejemplos de tiempos en la sección anterior)Jessica puede iniciar sesión el miércoles de 1:00 p.m. a 4:00 p.m.
Mathilde puede conectarse todos los días de 1:20 p.m. a 3:20 p.m. y de 4:00 p.m. a 8:30 p.m.
Stone, Frank y Florian pueden conectarse de 2:00 p.m. a 6:45 p.m. entre semana y de 2:00 p.m. a 10:15 p.m. durante el fin de semana
El comando skill-KILL-u desconecta al usuario de la GUI, así como de TTY. Es perfectamente utilizable para los administradores del servidor. Sin embargo, este comando es inmediato y la desconexión se realizará sin previo aviso. Por lo tanto, sería preferible evitar la instalación de este dispositivo a los usuarios de la computadora o red en cuestión.
Es posible evitar que los usuarios ejecuten un
wall
comandocron
unos minutos antes del final del período de tiempo , que se mostrará en los terminales de todos los usuarios.Para evitar que los usuarios de la GUI se puedan utilizar en lugar del comando de pared
notify-send
está en el paquete libnotify-binUsuario de Ubuntu 11.10
He visto que un usuario tiene problemas con Pam y vi muchos errores al respecto, ¿por qué la razón? es tan simple Ubuntu 11.10 ya no es compatible con GDM, el nuevo administrador de pantalla es lightGDM, el problema es el siguiente dónde almacenar esta directiva,
account required pam_time.so
creo que está/etc/pam.d/lightdm
o/etc/pam.d/lightdm-autologin
pero, ¿cómo?así que por aquí puedes consultar estos 2 archivos de registro LightGdm:
o ejecuta LightGdm en modo de depuración:
o informar un error:
Reporto que el insecto está aquí, así que cruza el dedo y espera ...
fuente
TimeKpr
Supongo que tiene todo lo que necesitas. Limite el tiempo de acceso por día por usuario, interfaz gráfica de usuario fácil para la configuración, capacidad de omitir durante un día, agregue algo de "tiempo de recompensa", notificación del tiempo restante para los usuarios, etc.
La página del proyecto está aquí . También tienen un PPA para Ubuntu, que se pueden agregar a sus Orígenes del software:
deb http://ppa.launchpad.net/timekpr-maintainers/ppa/ubuntu lucid main
. E instalar a través del Centro de Software o por medio de la CLI:sudo apt-get install timekpr
.fuente
Timekpr
se puede usar en 11.10 ejecutando LightDM para configurar restricciones para los usuarios agregando la siguiente línea a
/etc/pam.d/lightdm
Es posible que necesitemos eliminar libpam-smbpass para permitir el cambio de usuario hasta que se solucione el error # 835310 .
Todas las restricciones definidas en la ventana de la aplicación funcionan como se define en la GUI de timekpr.
Para mostrar el icono de timekpr-client en Unity, necesitamos incluir
'timekpr'
en la lista blanca la configuración del panel de Unity y, además, debemos agregarUnity
a la siguiente línea/etc/xdg/autostart/timekpr-client.desktop
:Para comenzar la cuenta regresiva del tiempo otorgado, es posible que tengamos que iniciar el demonio timekpr con
para 14.04:
Eduards Bezverhijs publicó una nueva versión / fork de timekpr para Ubuntu 14.04 en su
ppa:mjasnik/ppa
.fuente
El cierre de sesión automático es extremadamente frustrante si estás en medio de algo. Es violento, es brutal, es simplemente grosero. Y no importa la edad que tengas. Una cosa es que solo eres adicto a la computadora y es muy diferente cuando estás rastreando el tiempo y te expulsan 5 segundos antes de que puedas hacer clic en ese botón de envío o guardar tu documento. Le sugiero que considere usar un recordatorio automático en lugar de un pateador automático. Eso les enseñará a sus hijos a respetarse mutuamente y les permitirá usar la computadora voluntariamente.
Incluso hay una alternativa más ligera. Comience por rastrear la cantidad de tiempo que cada niño pasa usando la computadora y haga que los datos recopilados estén disponibles para que todos puedan verlos. Esta cosa increíblemente simple sola (aplicada al ancho de banda de Internet gastado) me ha salvado la vida cuando era el administrador de la red en una oficina llena de adultos. Las estadísticas públicas sobre el uso del ancho de banda para cada computadora (solo la cantidad de bytes, no desanonizar información como listas de sitios visitados, etc.) cambiaron la situación de "yo, el malvado y codicioso administrador en contra de ellos, los pobres usuarios de la oficina maltratados" a "hombre, descargaste 5 veces más que yo, ¡eso es malo! " "lo siento, lo descargué, vi mucho youtube durante las pausas para el almuerzo, ya no lo haré a este ritmo", simplemente fui excluido del escenario de confrontación.
fuente
También tuve este problema. Así que escribí el script kidtimer, que le permite definir tiempos de uso y totales. El proyecto se puede encontrar en Github en la siguiente ubicación:
Así es como instalarlo y usarlo:
Copie y pegue el código en un archivo llamado
kidtimer.install
.Ejecutalo:
Ejecutarlo:
Configurar una cuenta de usuario existente.
Hecho.
Para ayuda:
Agregue tiempo a la cuenta de un usuario (solo para ese día):
caracteristicas:
Archivos clave:
Cronjobs:
Nota:
La aplicación utiliza
notify-send
para alertar al usuario que se está agotando el tiempo. Cuando se agota el tiempo, todos los procesos del usuario finalizan, así que prepare al usuario.fuente
timekpr : este programa rastreará y controlará el uso de la computadora de sus cuentas de usuario. Puede limitar su uso diario en función de una duración de acceso programada y configurar períodos del día en los que pueden o no iniciar sesión. Con esta aplicación, los administradores pueden limitar la duración del tiempo de inicio de sesión o las horas de acceso a la cuenta. La aplicación funciona como un control del tiempo de los padres y será útil para los padres que desean limitar el tiempo de acceso de los niños.
Puede actualizar su sistema con paquetes no compatibles desde este PPA no confiable agregando
ppa:timekpr-maintainers/ppa
a las fuentes de software de su sistema.Este paquete está disponible en:
Resistente
¿Qué son los PPA y cómo los uso?
PROBLEMA
Reporto que el insecto está aquí, así que cruza el dedo y espera ...
fuente
Introducción
Podemos verificar si un usuario ha iniciado sesión con el comando:
lo que nos da una salida como:
En la salida obtenemos el pid del usuario objetivo, que debe detenerse si el tiempo excede el límite.
La solución
Asumiendo que su usuario no tiene
sudo
privilegios:Esta solución es un pequeño script de fondo. Limita el uso por día a un número definido de minutos, para establecer en el encabezado del script. Una vez configurado (que no es demasiado difícil), es muy fácil y no se necesita ninguna acción adicional después.
Para evitar la pérdida de datos no deseados de los archivos posiblemente abiertos, 60 segundos antes de que expire el límite de tiempo del usuario objetivo, aparecerá un mensaje en su
DISPLAY
:La secuencia de comandos
Cómo utilizar
limit
limit_use
(sin extensión) dentro de la carpeta y hágalo ejecutableEdite en el encabezado del script el nombre de usuario a limitar y la cantidad máxima de minutos permitidos. En el ejemplo:
Copie la carpeta al directorio
/opt
:Ahora edite
/etc/rc.local
para que el script lo ejecute comoroot
en el inicio:Justo antes de la línea
otra linea:
Explicación; cómo funciona
/opt/limit/uselog
). Si se alcanza el límite diario, la secuencia de comandos ya no permite que el usuario inicie sesión, elimina su proceso si existe.rc.local
solo los usuarios con privilegios de sudo pueden detener la secuencia de comandos, incluso si el usuario conoce el nombre del proceso.Detener el guión
En caso de que quiera detener el script, use el comando:
Pero necesitarías la contraseña de sudo para hacerlo.
fuente
Lo intenté
timekpr
pero no lo hice funcionar. Luego hice una variante que funciona en mi Ubuntu. Esto es lo que hay que hacer para esta variante:Agregar límite de tiempo en el
/var/lib/timelimit/user_to_be_limited.limit
archivo solo con derechos de root. por ejemplo, 1800 por 1800 segundos (30 minutos) límite diario.Cree
/usr/local/bin/timelimit.sh
con derechos de root con lo siguiente:Añadir a
/etc/rc.local
:Reiniciar Ubuntu
fuente
Acabo de hacer una respuesta disponible fácilmente. El código se explica en el hilo http://forums.linuxmint.com/viewtopic.php?f=213&t=77687 . En resumen: un límite configurado en minutos por día, un trabajo cron cada minuto, un mensaje al usuario para mantenerlo informado y un cierre de sesión forzado.
Para descargar e instalar esto, abra una Terminal y ejecute los siguientes comandos:
Se solicitará una contraseña de administrador durante el proceso de instalación (para instalar el trabajo cron, para copiar el script, ...). Desde allí serás guiado por todos. También hay un ./uninstall.sh en el mismo lugar por si acaso. Está construido para funcionar con todas las distribuciones basadas en Ubuntu (Mint, etc ... probablemente todas debian también). Si ocurre algún problema, avíseme, incluida la versión del sistema y el entorno gráfico en los comentarios:
Thomas Baeckeroot
fuente
Acabo de lanzar una versión beta de mi nueva aplicación
LittleBrother
que puede monitorear el tiempo de reproducción en máquinas Linux. Los usuarios de prueba pueden probar el paquete Debian. Las instrucciones sobre cómo descargarlo y usarlo se pueden encontrar aquí: https://github.com/marcus67/little_brother . Sin embargo, la instalación aún puede ser un poco difícil. Estas son las características de la aplicación:Algunas capturas de pantalla:
fuente