Usuarios y grupos en Ubuntu
Para añadir usuarios y grupos al sistema se emplean los
comandos
adduser y addgroup.
La operación de estos comandos /etc/adduser.conf.
Agregar un usuario
adduser Marisol
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
Agrega el usuario marisol al sistema estableciendo users como su grupo principal:
adduser Marisol cdrom
Agrega el usuario marisol (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
Agrega 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.
Eliminar usuarios y grupos
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.
Modificar usuarios y grupos
Para modificar las características de los usuarios y grupos
se emplean los comandos usermod y groupmod. Algunos ejemplos:
usermod -d /home/profes/sol-m
cambia el directorio de inicio del usuario mar para que sea
/home/mar/isol. La opción -m hace que mueva el contenido del antiguo
directorio al nuevo emplazamiento.
usermod -g profes sol
Cambia el grupo inicial del usuario marisol para que sea
profes.
usermod -l mar isol
Cambia el nombre del usuario mar. El nuevo nombre es isol.
groupmod -n profesores profes
Cambia el nombre del grupo profes a profesores.
Ficheros relacionados con la gestión de usuarios y grupos
Algunos ficheros relacionados con las cuentas de usuario
son:
/etc/passwd: contiene información sobre cada usuario: ID,
grupo principal, descripción, directorio de inicio, shell, etc. También
contiene el password encriptado, salvo que se usen shadow passwords.
/etc/shadow: contiene los passwords encriptados de los
usuarios cuando se emplean shadow passwords.
/etc/group: contiene los miembros de cada grupo, excepto
para el grupo principal, que aparece en /etc/passwd.
/etc/skel: directorio que contiene el contenido del
directorio de los nuevos usuarios.
Algunos grupos
especiales
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:
cdrom: dispositivos de CD–ROM. El dispositivo concreto
afectado depende de donde estén conectadas las unidades de CD–ROM. Por ejemplo,
/dev/hdc.
floppy: unidades de diskette, por ejemplo, /dev/fd0
dialout: puertos serie. Afecta, por ejemplo, a los modems
externos conectados al sistema. Por ejemplo, /dev/ttyS1
audio: controla el acceso a dispositivos relacionados con la
tarjeta de sonido. Por ejemplo, /dev/dsp, /dev/mixer y /dev/sndstat.
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 disquetera 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 disquetera a todos los usuarios,
haríamos:
chmod a+r /dev/hdc
chmod a+rw /dev/fd0*
Límites a los usuarios
En los sitemas UNIX/LINUX existe la posibilidad de limitar
recursos a los usuarios o grupos, por ejemplo, el máximo número de logins que
puede realizar simultáneamente un usuario, el máximo tiempo de CPU, el máximo
número 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 líneas 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.
Ejemplos de límites horarios
El usuario curso no puede hacer login durante el fin de
semana:
SaSu:*:curso:*:NOLOGIN
Sólo el usuario 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 día:
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 líneas 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 prohíbe el acceso a un usuario éste no
podrá entrar en el sistema.
Límites de quotas
El sistema de quotas provee un mecanismo de control y uso
del espacio de disco duro disponible en un sistema. Se pueden establecer
límites en la cantidad de espacio y el número de ficheros de que puede disponer
un usuario o grupo. En las quotas hay cuatro números para cada límite: la
cantidad actual ocupada; el límite soft (quota propiamente dicha); el límite
hard (espacio sobre quota), y el tiempo que resta antes de eliminar el exceso
entre soft y hard. Mientras que el límite soft puede ser superado
temporalmente, el límite hard nunca puede rebasarse.
Administrando el sistema de quotas
Para implementar el sistema de quotas es necesario instalar
algún paquete de control de dicho sistema. En Ubuntu hay un paquete denominado
quota que instala todo lo necesario para implementar todo el sistema. Una vez
instalado tenemos que realizar una serie de pasos para activar el mecanismo de
quotas. Estos pasos son:
Configuración de
kernel
Antes de instalar el sistema de quotas debe disponerse de un
kernel con la opción de quota–system habilitada. Esto se consigue en el proceso
de compilación de un nuevo kernel respondiendo yes a la pregunta de Disk QUOTA
support. Los kernels precompilados que se distribuyen con Debian (paquetes
kernel-image.) ya tienen esta opción habilitada.
Elección del sistema de ficheros sobre el que se aplican las
quotas
Una vez dispuesto el kernel, hay que seleccionar qué sistema
de ficheros necesitan tener aplicadas las quotas. Lo normal es que solo el sistema
donde están las cuentas de usuarios tengan quotas, aunque es recomendable que
tenga quotas todo sistema de ficheros donde los usuarios puedan escribir. Para
habilitar las quotas en un sistema de ficheros hay que editar el fichero
/etc/fstab e incluir las opciones usrquota y grpquota:
# /etc/fstab: static
file system information.
# file system mount
point type options
dump pas
/dev/hda5 / ext2 defaults,errors=remount-ro,usrquota,grpquota
0
Habilitar las quotas
Para instalar los ficheros de quotas se debe ejecutar el
comando:
quotacheck -avug
Scanning /dev/hda5
[/] done
Checked 4943
directories and 57624 files
Using quotafile
/quota.user
Updating in-core user
quotas
Using quotafile
/quota.group
Updating in-core
group quotas
La primera vez que se ejecuta este comando sirve para crear
los ficheros de quotas: quota.user y quota.group.
Especificar quotas para usuarios o grupos
Para editar la quota de un usuario o grupo se usa el
programa edquota con la opción -u para editar las quotas de usuarios y con la
opción -g para editar las opciones de grupo. Sólo hay que editar los números
que están detrás de soft y hard. El período de gracia que hay entre el límite
soft y el hard puede cambiarse con:
edquota -t
La mayoría de las veces los usuarios tienen la misma quota.
Una forma rápida de editar la quota de todos los usuarios es colocarse en el
directorio donde tienen sus directorios raíz cada usuario. Editar la quota de
uno de estos usuarios con los valores apropiados y, posteriormente, ejecutar:
edquota -p usuarioprototipo *
Para verificar las quotas que tiene un usuario se utiliza el
comando:
quota -v
El superusuario puede ver las quotas de todos los usuarios
con el comando:
repquota filesystem
Deshabilitar quotas para usuarios o grupos
Para deshabilitar las quotas de un usuario o grupo solo hay
que editar las quotas y poner los límites a 0. Así un usuario puede usar tantos
bloques e inodos como quiera.
No hay comentarios.:
Publicar un comentario