Gestión de usuarios y grupos

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(Enlaces de interés)
(erratas)
 
(No se muestra una edición intermedia realizada por un usuario)
Línea 43: Línea 43:
 
* audio: controla el acceso a dispositivos relacionados con la tarjeta de sonido. Por ejemplo, /dev/dsp, /dev/mixer y /dev/sndstat.
 
* 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 disketera haríamos:
+
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
 
  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:
+
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+r /dev/hdc
 
  chmod a+rw /dev/fd0*
 
  chmod a+rw /dev/fd0*
 
===Límites a los usuarios===
 
===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 numero de logins que puede realizar simultáneamente un usuario, el máximo tiempo de CPU, el máximo numero de procesos etc.
+
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.  
 
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.
 
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:
+
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
 
   TIMES:TTYS:USERS:GROUPS:MAXIDLE:MAXSESS:MAXDAY:WARN
 
o bien
 
o bien
Línea 58: Línea 58:
 
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 límites horarios'''=====
 
====='''Ejemplos de límites horarios'''=====
*El ususario curso no puede hacer login durante el fin de semana:
+
*El usuario curso no puede hacer login durante el fin de semana:
 
   SaSu:*:curso:*:NOLOGIN
 
   SaSu:*:curso:*:NOLOGIN
*Sólo el ususario root puede acceder desde las consolas tty1–tty6:
+
*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:root:*:LOGIN
 
   Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN
 
   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:
+
*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:*:root:*:LOGIN
 
   Al1500-1600:*:*:*:NOLOGIN
 
   Al1500-1600:*:*:*:NOLOGIN
Línea 71: Línea 71:
 
  Starting /usr/sbin/timeoutd...
 
  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.
 
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:
+
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))
 
  # Comprueba restricciones de timeoutd (ver timeoutd, timeouts(5))
 
   /usr/sbin/timeoutd ‘whoami‘ ‘basename \‘tty\‘‘ || exit
 
   /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.
+
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===
 
===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 limites en la cantidad de espacio y el número de ficheros de que puede disponer un usuario o grupo.
+
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 numeros 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.
+
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====
 
====Administrando el sistema de quotas====
  
Para implementar el sistema de quotas es necesario instalar algun 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.
+
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:
 
Estos pasos son:
 
*Configuración de kernel
 
*Configuración de kernel
Antes de instalar el sistema de quotas debe disponerse de un kernel con la opcion 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
+
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.
kernel-image.ya tienen esta opción habilitada.
+
 
*Elección del sistema de ficheros sobre el que se aplican las quotas
 
*Elección del sistema de ficheros sobre el que se aplican las quotas
Una vez dispuesto el kernel, hay que seleccionar que 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.
+
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:
 
Para habilitar las quotas en un sistema de ficheros hay que editar el fichero /etc/fstab e incluir las opciones usrquota y grpquota:
  
Línea 109: Línea 108:
 
La primera vez que se ejecuta este comando sirve para crear los ficheros de quotas: quota.user y quota.group.
 
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
 
* 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 opcion -g para editar las opciones de grupo.
+
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:
 
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
 
  edquota -t
La mayoría de las veces los usuarios tienen la misma quota. Una forma rapida de editar la quota de todos los usuarios es colocarse en el directorio donde tienen sus directorios raiz cada usuario. Editar la quota de uno de estos usuarios con los valores apropiados y, posteriormente, ejecutar:
+
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 *
 
  edquota -p usuarioprototipo *
 
Para verificar las quotas que tiene un usuario se utiliza el comando:
 
Para verificar las quotas que tiene un usuario se utiliza el comando:
Línea 118: Línea 117:
 
El superusuario puede ver las quotas de todos los usuarios con el comando:
 
El superusuario puede ver las quotas de todos los usuarios con el comando:
 
  repquota filesystem
 
  repquota filesystem
*Desabilitar quotas para usuarios o grupos
+
*Deshabilitar quotas para usuarios o grupos
Para deshabilitar las quotas de un usuario o grupo solo hay que editarlas quotas y poner los limites a 0. Así un usuario puede usar tantos bloques e inodos como quiera.
+
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.
  
 
----
 
----
  
:'''Fuente''':
+
 
:Guía de administración de Debian
+
== Fuente ==
:GNU/Linux
+
:Guía de administración de Debian GNU/Linux
 
:Jorge Juan Chico <jjchico@imse.cnm.es>
 
:Jorge Juan Chico <jjchico@imse.cnm.es>
 
:Manuel J. Bellido Díaz <bellido@imse.cnm.es>
 
:Manuel J. Bellido Díaz <bellido@imse.cnm.es>
 +
[[Discusión:Gestión de usuarios y grupos|sobre licencia]]
  
 
== Ver también ==
 
== Ver también ==

Última revisión de 20:38 15 mayo 2012

Contenido

[editar] Gestión de usuarios y grupos

Aquí se presentan los aspectos básicos para la gestión de usuarios y grupos de usuarios en el sistema Debian/Ubuntu a través de la línea de comandos, para consultar la gestión de usuarios de manera gráfica, consulta Usuarios y grupos en Ubuntu.

[editar] Añadir usuarios y grupos

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 cdrom

añ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.

[editar] 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.

[editar] 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/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.

[editar] 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.

[editar] 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*

[editar] 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.

[editar] 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.

[editar] 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.

[editar] 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.



[editar] Fuente

Guía de administración de Debian GNU/Linux
Jorge Juan Chico <jjchico@imse.cnm.es>
Manuel J. Bellido Díaz <bellido@imse.cnm.es>

sobre licencia

[editar] Ver también

Herramientas personales