| Línea 54: | Línea 54: | ||
TIMES:TTYS:USERS:GROUPS:LOGINSTATUS | TIMES:TTYS:USERS:GROUPS:LOGINSTATUS | ||
En la página de manual timeouts(8) se explica el significado de cada uno de los campos en estas líneas. | En la página de manual timeouts(8) se explica el significado de cada uno de los campos en estas líneas. | ||
| + | :'''Ejemplos de limites horarios''' | ||
| + | *El ususario curso no puede hacer login durante el fin de semana: | ||
| + | SaSu:*:curso:*:NOLOGIN | ||
| + | *Sólo el ususario root puede acceder desde las consolas tty1–tty6: | ||
| + | Al:tty1,tty2,tty3,tty4,tty5,tty6:root:*:LOGIN | ||
| + | Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN | ||
| + | *Sólo el usuario root puede acceder entre las 15:00 y las 16:00h de cada dia: | ||
| + | Al1500-1600:*:root:*:LOGIN | ||
| + | Al1500-1600:*:*:*:NOLOGIN | ||
| + | Una vez que se ha preparado el fichero /etc/timeouts es necesario reiniciar el servidor timeoutd: | ||
| + | # /etc/init.d/timeoutd restart | ||
| + | Stopped /usr/sbin/timeoutd (pid 2412). | ||
| + | Starting /usr/sbin/timeoutd... | ||
| + | Es importante destacar que este proceso no actúa durante el proceso de login lo que da lugar a que, aunque un usuario tenga prohibido el acceso a una máquina en un momento determinado, inicialmente puede entrar y sólo, una vez que se ejecute el proceso timeoutd, será expulsado del sistema. | ||
| + | Para conseguir que durante el proceso de login se revisen las condiciones de timeouts se debe incluir las siguientes lineas en el fichero /etc/profile: | ||
| + | |||
| + | # Comprueba restricciones de timeoutd (ver timeoutd, timeouts(5)) | ||
| + | /usr/sbin/timeoutd ‘whoami‘ ‘basename \‘tty\‘‘ || exit | ||
| + | Con esta línea incluso aunque el servicio timeoutd este parado si en el fichero /etc/timeouts se prohibe el acceso a un usuario éste no podrá entrar en el sistema. | ||
| + | |||
Contenido |
Aquí se presentan los aspectos básicos para la gestión de usuarios y grupos de usuarios en el sistema.
Para añadir usuarios y grupos al sistema se emplean los comandos adduser y addgroup. La operación de estos comandos se configura en el fichero /etc/adduser.conf. Veamos algunos ejemplos:
# adduser pepe
añade el usuario pepe al sistema. El sistema pedirá alguna información adicional sobre el usuario y un password o clave. Por defecto, se crea un grupo con el nombre del usuario y éste será el grupo por defecto. Este comportamiento se configura en /etc/adduser.conf.
# adduser --ingroup users pepe
añade el usuario pepe al sistema estableciendo users como su grupo principal:
# adduser pepe cdromañade el usuario pepe (previamente creado) al grupo cdrom.
Cuando el número de usuarios es numeroso y heterogéneo, puede ser necesario añadir nuevos grupos. Esto se hace con el comando addgroup. Por ejemplo:
# addgroup alumnos
añade al sistema un grupo llamado alumnos. Alternativamente a los comandos anteriores, se pueden añadir usuarios y grupos empleando useradd y groupadd. Estos comandos leen información de configuración del fichero /etc/login.defs.
Para eliminar usuarios y grupos se emplean userdel y groupdel respectivamente. Por ejemplo: # userdel pepe elimina el usuario pepe. Si además se indica la opción -r, también se borrará el directorio personal del usuario con todo su contenido.
# groupdel alumnos
elimina el grupo alumnos.
Para modificar las características de los usuarios y grupos se emplean los comandos usermod y groupmod. Algunos ejemplos:
# usermod -d /home/profes/pepe -m
cambia el directorio de inicio del usuario pepe para que sea /home/profes/pepe. La opción -m hace que mueva el contenido del antiguo directorio al nuevo emplazamiento.
# usermod -g profes pepe
cambia el grupo inicial del usuario pepe para que sea profes.
# usermod -l joseg pepe
cambia el nombre del usuario pepe. El nuevo nombre es joseg.
# groupmod -n profesores profes
cambia el nombre del grupo profes a profesores.
Algunos ficheros relacionados con las cuentas de usuario son:
En el sistema existen algunos grupos especiales que sirven para controlar el acceso de los usuarios a distintos dispositivos. El control se consigue mediante los permisos adecuados a ficheros de dispositivo situados en /dev. Algunos de estos grupos son:
Para dar acceso a un usuario a uno de estos servicios, basta con añadirlo al grupo adecuado. Por ejemplo, para dar acceso al usuario pepe a la disketera haríamos:
# adduser pepe floppy
Alternativamente, para sistemas pequeños suele ser mejor “desproteger” los dispositivos adecuados para que todos los usuarios puedan usarlos, evitando tener que recordar añadir usuarios a los grupos adecuados. Por ejemplo, para dar acceso de lectura al CD–ROM (suponiendo que esté en /dev/hdc) y de lectura/escritura a la disketera a todos los usuarios, haríamos:
# chmod a+r /dev/hdc
# chmod a+rw /dev/fd0*
En los sitemas UNIX/LINUX existe la posibilidad de limitar recursos a los usuarios o grupos, por ejemplo, el máximo numero de logins que puede realizar simultáneamente un usuario, el máximo tiempo de CPU, el máximo numero de procesos etc. Estos límites se controlan en LINUX a través del fichero /etc/security/limits.conf. También es posible limitar los tiempos de acceso a los usuarios. Una de las formas de hacerlo es con el servicio timeoutd. Este servicio se instala a través de la distribución y, una vez instalado aparece un fichero de configuración /etc/timeouts. En este fichero de configuración las lineas en blanco o que comienzan por # no son interpretadas. El resto de las líneas debe tener alguna de las dos siguientes sintaxis:
TIMES:TTYS:USERS:GROUPS:MAXIDLE:MAXSESS:MAXDAY:WARN
o bien
TIMES:TTYS:USERS:GROUPS:LOGINSTATUS
En la página de manual timeouts(8) se explica el significado de cada uno de los campos en estas líneas.
SaSu:*:curso:*:NOLOGIN
Al:tty1,tty2,tty3,tty4,tty5,tty6:root:*:LOGIN
Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN
Al1500-1600:*:root:*:LOGIN
Al1500-1600:*:*:*:NOLOGIN
Una vez que se ha preparado el fichero /etc/timeouts es necesario reiniciar el servidor timeoutd:
# /etc/init.d/timeoutd restart
Stopped /usr/sbin/timeoutd (pid 2412).
Starting /usr/sbin/timeoutd...
Es importante destacar que este proceso no actúa durante el proceso de login lo que da lugar a que, aunque un usuario tenga prohibido el acceso a una máquina en un momento determinado, inicialmente puede entrar y sólo, una vez que se ejecute el proceso timeoutd, será expulsado del sistema. Para conseguir que durante el proceso de login se revisen las condiciones de timeouts se debe incluir las siguientes lineas en el fichero /etc/profile:
# Comprueba restricciones de timeoutd (ver timeoutd, timeouts(5))
/usr/sbin/timeoutd ‘whoami‘ ‘basename \‘tty\‘‘ || exit
Con esta línea incluso aunque el servicio timeoutd este parado si en el fichero /etc/timeouts se prohibe el acceso a un usuario éste no podrá entrar en el sistema.