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:
servicios; ttys; usuarios; tiempos
The first field — services — is a logic list of PAM service names.
The second field — tty — is a logic list of terminal names.
The third field — users — is a logic list of users or a netgroup of users.
The fourth field — times — indicates the applicable times.
Aquí hay un ejemplo de un conjunto típico de reglas:
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
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:
$ Ls /etc/pam.d/
atd common-account common-session gdm login ppp sudo
chfn common-auth cron gdm-autologin Other samba
chsh common-cupsys gnome-screensaver password passwd su
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):
account required pam_time.so
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:
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
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):
*;*;user;scheduler
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:
*;*;Patrick|jean|emilie;scheduler
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:
Nicolas *;*;!|xavier;scheduler
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:
Mo : Monday Fr : Friday Wd : Sa/Su
Tu : Tuesday Sa : Saturday wk : Mo/Tu/We/Th/Fr
We : Wenesday Su : Sunday
Th : Thursday Al : All Days
¡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:
*;*;marie;Tu1517-1834
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:
login;tty1|tty4|tty5;marie;!Wd0000-2400
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.:
*;*;mathilde;Al1320-1520|Al1600-2030
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:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
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.:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
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:
Minute Hour Day * * (s) root skill -KILL -u User
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:
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
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.
-> Desconectar: martes a las 4:00 p.m.
00 16 * root * wed skill -KILL -u jessica
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.
-> Desconexión: todos los días, de 8:30 p.m. a 3:20 p.m. ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
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
-> Desconectar (1): lunes, martes, miércoles, jueves y viernes, a las 18:45. -> Desconectar (2): sábado y domingo a las 10:15 p.m.
45 18 * * mon,tue,wed,thu,fri root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
15 22 * * sat,sun root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
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
comando cron
unos minutos antes del final del período de tiempo , que se mostrará en los terminales de todos los usuarios.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Para evitar que los usuarios de la GUI se puedan utilizar en lugar del comando de pared notify-send
está en el paquete libnotify-bin
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Usuario 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:
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
o ejecuta LightGdm en modo de depuración:
LightDM --debug
o informar un error:
ubuntu-bug lightdm
Reporto que el insecto está aquí, así que cruza el dedo y espera ...