Vous êtes sur la page 1sur 14

ADMINISTRAR USUARIOS EN LINUX / UBUNTU

Linux es un sistema multiusuario, por lo tanto, la tarea de aadir, modificar, eliminar y en general administrar usuarios se convierte en algo no solo rutinario, sino importante, adems de ser un elemento de seguridad que mal administrado o tomado a la ligera, puede convertirse en un enorme hoyo de seguridad. En este manual aprenders todo lo necesario para administrar completamente tus usuarios en GNU/Linux.

Clases de usuarios
Los usuarios en Unix/Linux se identifican por un nmero nico de usuario, User ID, UID. Y pertenecen a un grupo principal de usuario, identificado tambin por un nmero nico de grupo, Group ID, GID. El usuario puede pertenecer a ms grupos adems del principal. Aunque sujeto a cierta polmica, es posible identificar tres tipos de usuarios en Linux:

Usuario root

Tambin llamado superusuario o administrador. Su UID (User ID) es 0 (cero). Es la nica cuenta de usuario con privilegios sobre todo el sistema. Acceso total a todos los archivos y directorios con independencia de propietarios y permisos. Controla la administracin de cuentas de usuarios. Ejecuta tareas de mantenimiento del sistema. Puede detener el sistema. Instala software en el sistema. Puede modificar o reconfigurar el kernel, controladores, etc.

Usuarios especiales

Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc. Se les llama tambin cuentas del sistema. No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen distintos privilegios de root. Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad. No tienen contraseas pues son cuentas que no estn diseadas para iniciar sesiones con ellas. Tambin se les conoce como cuentas de "no inicio de sesin" (nologin). Se crean (generalmente) automticamente al momento de la instalacin de Linux o de la aplicacin. Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/login.defs)

Usuarios normales

Se usan para usuarios individuales. Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home. Cada usuario puede personalizar su entorno de trabajo. Tienen solo privilegios completos en su directorio de trabajo o HOME. Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su. En las distros actuales de Linux se les asigna generalmente un UID superior a 500.

/etc/passwd
Cualquiera que sea el tipo de usuario, todas las cuentas se encuentran definidas en el archivo de configuracin 'passwd', ubicado dentro del directorio /etc. Este archivo es de texto tipo ASCII, se crea al momento de la instalacin con el usuario root y las cuentas especiales, ms las cuentas de usuarios normales que se hayan indicado al momento de la instalacin. El archivo /etc/passwd contiene una lnea para cada usuario, similar a las siguientes:
root:x:0:0:root:/root:/bin/bash sergio:x:501:500:Sergio Gonzlez:/home/sergio:/bin/bash

La informacin de cada usuario est dividida en 7 campos delimitados cada uno por ':' dos puntos. /etc/passwd Es el nombre del usuario, identificador de inicio de sesin (login). Tiene que ser nico. La 'x' indica la contrasea encriptada del usuario, adems tambin indica que se est haciendo uso del archivo /etc/shadow, si no se hace uso de este archivo, este campo se vera algo as como: 'ghy675gjuXCc12r5gt78uuu6R'. Nmero de identificacin del usuario (UID). Tiene que ser nico. 0 para root, generalmente las cuentas o usuarios especiales se numeran del 1 al 100 y las de usuario normal del 101 en delante, en las distribuciones mas recientes esta numeracin comienza a partir del 500. Numeracin de identificacin del grupo (GID). El que aparece es el nmero de grupo principal del usuario, pero puede pertenecer a otros, esto se configura en /etc/groups. Comentarios o el nombre completo del usuario. Directorio de trabajo (Home) donde se sita al usuario despus del inicio de sesin. Shell que va a utilizar el usuario de forma predeterminada.

Campo 1

Campo 2

Campo 3

Campo 4 Campo 5 Campo 6 Campo 7

/etc/shadow
Anteriormente (en sistemas Unix) las contraseas cifradas se almacenaban en el mismo /etc/passwd. El problema es que 'passwd' es un archivo que puede ser ledo por cualquier usuario del sistema, aunque solo puede ser modificado por root. Con cualquier computadora potente de hoy en da, un buen programa de descifrado de contraseas y paciencia es posible "crackear" contraseas dbiles (por eso la conveniencia de cambiar peridicamente la contrasea de root y de otras cuentas importantes). El archivo 'shadow', resuelve el problema ya que solo puede ser leido por root. Considrese a 'shadow' como una extensin de 'passwd' ya que no solo almacena la contrasea encriptada, sino que tiene otros campos de control de contraseas. El archivo /etc/shadow contiene una lnea para cada usuario, similar a las siguientes:
root:ghy675gjuXCc12r5gt78uuu6R:10568:0:99999:7:7:-1:: sergio:rfgf886DG778sDFFDRRu78asd:10568:0:-1:9:-1:-1::

La informacin de cada usuario est dividida en 9 campos delimitados cada uno por ':' dos puntos. /etc/shadow Nombre de la cuenta del usuario. Contrasea cifrada o encriptada, un '*' indica cuenta de 'nologin'. Das transcurridos desde el 1/ene/1970 hasta la fecha en que la contrasea fue cambiada por ltima vez. Nmero de das que deben transcurrir hasta que la contrasea se pueda volver a cambiar. Nmero de das tras los cuales hay que cambiar la contrasea. (-1 significa nunca). A partir de este dato se obtiene la fecha de expiracin de la contrasea. Nmero de das antes de la expiracin de la contrasea en que se le avisar al usuario al inicio de la sesin. Das despus de la expiracin en que la contrasea se inhabilitara, si es que no se cambio. Fecha de caducidad de la cuenta. Se expresa en das transcurridos desde el 1/Enero/1970 (epoch). Reservado.

Campo 1 Campo 2 Campo 3 Campo 4 Campo 5 Campo 6 Campo 7 Campo 8 Campo 9

/etc/group
Este archivo guarda la relacin de los grupos a los que pertenecen los usuarios del sistema, contiene una lnea para cada usuario con tres o cuatro campos por usuario:
root:x:0:root ana:x:501: sergio:x:502:ventas,supervisores,produccion cristina:x:503:ventas,sergio

El campo 1 indica el usuario. El campo 2 'x' indica la contrasea del grupo, que no existe, si hubiera se mostrara un 'hash' encriptado. El campo 3 es el Group ID (GID) o identificacin del grupo. El campo 4 es opcional e indica la lista de grupos a los que pertenece el usuario

Actualmente al crear al usuario con useradd se crea tambin automticamente su grupo principal de trabajo GID, con el mismo nombre del usuario. Es decir, si se aade el usuario 'sergio' tambin se crea el /etc/group el grupo 'sergio'. Aun asi, existen comandos de administracin de grupos que se explicarn ms adelante.

pwconv y pwunconv
El comportamiento por defecto de todas las distros modernas de GNU/Linux es activar la proteccin extendida del archivo /etc/shadow, que (se insiste) oculta efectivamente el 'hash' cifrado de la contrasea de /etc/passwd. Pero si por alguna bizarra y extraa situacin de compatibilidad se requiriera tener las contraseas cifradas en el mismo archivo de /etc/passwd se usara el comando pwunconv:
#> more /etc/passwd root:x:0:0:root:/root:/bin/bash sergio:x:501:500:Sergio Gonzlez:/home/sergio:/bin/bash ... (La 'x' en el campo 2 indica que se hace uso de /etc/shadow) #> more /etc/shadow root:ghy675gjuXCc12r5gt78uuu6R:10568:0:99999:7:7:-1:: sergio:rfgf886DG778sDFFDRRu78asd:10568:0:-1:9:-1:-1:: #> pwunconv #> more /etc/passwd root:ghy675gjuXCc12r5gt78uuu6R:0:0:root:/root:/bin/bash sergio:rfgf886DG778sDFFDRRu78asd:501:500:Sergio Gonzlez:/home/sergio:/bin/bash ... #> more /etc/shadow /etc/shadow: No such file or directory (Al ejecutar pwunconv, el archivo shadow se elimina y las contraseas cifradas 'pasaron' a passwd)

En cualquier momento es posible reactivar la proteccin de shadow:


#> pwconv #> ls -l /etc/passwd /etc/shadow -rw-r--r-- 1 root root 1106 2007-07-08 01:07 /etc/passwd -r-------- 1 root root 699 2009-07-08 01:07 /etc/shadow

Se vuelve a crear el archivo shadow, adems ntese los permisos tan restrictivos (400) que tiene este archivo, haciendo sumamente difcil (no me gusta usar imposible, ya que en informtica parece ser que los imposibles 'casi' no existen) que cualquier usuario que no sea root lo lea.

/etc/login.defs
En el archivo de configuracin /etc/login.defs estn definidas las variables que controlan los aspectos de la creacin de usuarios y de los campos de shadow usadas por defecto. Algunos de los aspectos que controlan estas variables son:

Nmero mximo de das que una contrasea es vlida PASS_MAX_DAYS El nmero mnimo de caracteres en la contrasea PASS_MIN_LEN Valor mnimo para usuarios normales cuando se usa useradd UID_MIN El valor umask por defecto UMASK Si el comando useradd debe crear el directorio home por defecto CREATE_HOME

Basta con leer este archivo para conocer el resto de las variables que son autodescriptivas y ajustarlas al gusto. Recerdese que se usaran principalmente al momento de crear o modificar usuarios con los comandos useradd y usermod que en breve se explicaran.

Aadir usuarios con useradd


useradd o adduser es el comando que permite aadir nuevos usuarios al sistema desde la lnea de comandos. Sus opciones ms comunes o importantes son las siguientes:

-c aade un comentario al momento de crear al usuario, campo 5 de /etc/passwd -d directorio de trabajo o home del usuario, campo 6 de /etc/passwd -e fecha de expiracin de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow -g nmero de grupo principal del usuario (GID), campo 4 de /etc/passwd -G otros grupos a los que puede pertenecer el usuario, separados por comas. -r crea una cuenta del sistema o especial, su UID ser menor al definido en /etc/login.defs en la variable UID_MIN, adems no se crea el directorio de inicio. -s shell por defecto del usuario cuando ingrese al sistema. Si no se especifica, bash, es el que queda establecido. -u UID del usuario, si no se indica esta opcin, automticamente se establece el siguiente nmero disponible a partir del ltimo usuario creado.

Ahora bien, realmente no hay prcticamente necesidad de indicar ninguna opcin ya que si hacemos lo siguiente:
#> useradd juan

Se crear el usuario y su grupo, asi como las entradas correspondientes en /etc/passwd, /etc/shadow y /etc/group. Tambin se crear el directorio de inicio o de trabajo: /home/juan y los archivos de configuracin que van dentro de este directorio y que ms adelante se detallan.

Las fechas de expiracin de contrasea, etc. Quedan lo ms amplias posibles asi que no hay problema que la cuenta caduque, asi que prcticamente lo nico que faltara sera aadir la contrasea del usuario y algn comentario o identificacin de la cuenta. Como aadir el password o contrasea se estudiara en un momento y viendo las opciones con '-c' es posible establecer el comentario, campo 5 de /etc/passwd:
#> useradd -c "Juan Perez Hernandez" juan

Siempre el nombre del usuario es el ltimo parmetro del comando. Asi por ejemplo, si queremos salirnos del default, podemos establecer algo como lo siguiente:
#> useradd -d /usr/juan -s /bin/csh -u 800 -c "Juan Perez Hernandez" juan

Con lo anterior estamos cambiando su directorio de inicio, su shell por defautl sera csh y su UID ser el 800 en vez de que el sistema tome el siguiente nmero disponible.

Modificar usuarios con usermod


Como su nombre lo indica, usermod permite modificar o actualizar un usuario o cuenta ya existente. Sus opciones ms comunes o importantes son las siguientes:

-c aade o modifica el comentario, campo 5 de /etc/passwd -d modifica el directorio de trabajo o home del usuario, campo 6 de /etc/passwd -e cambia o establece la fecha de expiracin de la cuenta, formato AAAA-MMDD, campo 8 de /etc/shadow -g cambia el nmero de grupo principal del usuario (GID), campo 4 de /etc/passwd -G establece otros grupos a los que puede pertenecer el usuario, separados por comas. -l cambia el login o nombre del usuario, campo 1 de /etc/passwd y de /etc/shadow -L bloque la cuenta del usuario, no permitiendol que ingrese al sistema. No borra ni cambia nada del usuario, solo lo deshabilita. -s cambia el shell por defecto del usuario cuando ingrese al sistema. -u cambia el UID del usuario. -U desbloquea una cuenta previamente bloqueada con la opcin -L.

Si quiseramos cambiar el nombre de usuario de 'sergio' a 'sego':


#> usermod -l sego sergio

Casi seguro tambin cambiar el nombre del directorio de inicio o HOME en /home, pero si no fuera as, entonces:
#> usermod -d /home/sego sego

Otros cambios o modificaciones en la misma cuenta:

#> usermod -c "supervisor de area" -s /bin/ksh -g 505 sego

Lo anterior modifica el comentario de la cuenta, su shell por defecto que ahora sera Korn shell y su grupo principal de usuario qued establecido al GID 505 y todo esto se aplic al usuario 'sego' que como se observa debe ser el ltimo argumento del comando. El usuario 'sego' sali de vacaciones y nos aseguramos de que nadie use su cuenta:
#> usermod -L sego

Eliminar usuarios con userdel


Como su nombre lo indica, userdel elimina una cuenta del sistema, userdel puede ser invocado de tres maneras:
#> userdel sergio

Sin opciones elimina la cuenta del usuario de /etc/passwd y de /etc/shadow, pero no elimina su directorio de trabajo ni archivos contenidos en el mismo, esta es la mejor opcin, ya que elimina la cuenta pero no la informacin de la misma.
#> userdel -r sergio

Al igual que lo anterior elimina la cuenta totalmente, pero con la opcin -r adems elimina su directorio de trabajo y archivos y directorios contenidos en el mismo, asi como su buzn de correo, si es que estuvieran configuradas las opciones de correo. La cuenta no se podr eliminar si el usuario esta logueado o en el sistema al momento de ejecutar el comando.
#> userdel -f sergio

La opcin -f es igual que la opcin -r, elimina todo lo del usuario, cuenta, directorios y archivos del usuario, pero adems lo hace sin importar si el usuario esta actualmente en el sistema trabajando. Es una opcin muy radical, adems de que podra causar inestabilidad en el sistema, asi que hay que usarla solo en casos muy extremos.

Cambiar contraseas con passwd


Crear al usuario con useradd es el primer paso, el segundo es asignarle una contrasea a ese usuario. Esto se logra con el comando passwd que permitir ingresar la contrasea y su verificacin:
#> passwd sergio Changing password for user prueba. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. #>

El usuario root es el nico que puede indicar el cambio o asignacin de contraseas de cualquier usuario. Usuarios normales pueden cambiar su contraea en cualquier momento con tan solo invocar passwd sin argumentos, y podr de esta manera cambiar la contrasea cuantas veces lo requiera. passwd tiene integrado validacin de contraseas comunes, cortas, de diccionario, etc. asi que si por ejemplo intento como usuario normal cambiar mi contrasea a 'qwerty' el sistema me mostrar lo siguiente:
$> passwd Changing password for user prueba. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. $>

Ntese que al ingresar 'qwerty' como contrasea se detect que es una secuencia ya conocida como contrasea y me manda la advertencia: "BAD PASSWORD: it is based on a dictionary word", sin embargo me permite continuar, al ingresar la verificacin. Es decir, passwd avisa de malas o dbiles contraseas pero permite establecerlas si realmente se desea. Resumiendo entonces, se podra decir que todo este tutorial se reduce a dos lneas de comandos para crear y dejar listo para trabajar a un usuario en Linux:
#> useradd ana #> passwd ana

Se crea el usuario 'ana', useradd hace todo el trabajo de establecer el shell, directorio de inicio, copiar archivos iniciales de configuracin de la cuenta, etc. y despus passwd establece la contrasea. Asi de simple. passwd tiene varias opciones que permiten bloquear la cuenta '-l', desbloquearla '-u', y varias opciones ms que controlan la vigencia de la contrasea, es decir, es otro modo de establecer los valores de la cuenta en /etc/shadow. Para ms informacin consulta las pginas del manual: $> man passwd

Archivos de configuracin
Los usuarios normales y root en sus directorios de inicio tienen varios archivos que comienzan con "." es decir estn ocultos. Varan mucho dependiendo de la distribucin de Linux que se tenga, pero seguramente se encontrarn los siguientes o similares:
#> ls -la drwx-----drwxr-xr-x -rw-r--r--rw-r--r--rw-r--r-2 7 1 1 1 ana root ana ana ana ana 4096 jul root 4096 jul ana 24 jul ana 191 jul ana 124 jul 9 9 9 9 9 09:54 09:54 09:54 09:54 09:54 . .. .bash_logout .bash_profile .bashrc

.bash_profile aqu podremos indicar alias, variables, configuracin del entorno, etc. que deseamos iniciar al principio de la sesin. .bash_logout aqu podremos indicar acciones, programas, scripts, etc., que deseemos ejecutar al salirnos de la sesin. .bashrc es igual que .bash_profile, se ejecuta al principio de la sesin, tradicionalmente en este archivo se indican los programas o scripts a ejecutar, a diferencia de .bash_profile que configura el entorno. Lo anterior aplica para terminales de texto 100%. Si deseamos configurar archivos de inicio o de salida de la sesin grfica entonces, en este caso, hay que buscar en el men del ambiente grfico algn programa grfico que permita manipular que programas se deben arrancar al iniciar la sesin en modo grfico. En la mayora de las distribuciones existe un programa llamado "sesiones" o "sessions", generalmente esta ubicado dentro del men de preferencias. En este programa es posible establecer programas o scripts que arranquen junto con el ambiente grfico, sera equivalente a manipular 'bashrc'. Adems Linux permite que el usuario decida que tipo de entorno Xwindow a utilizar, ya sea algn entorno de escritorio como KDE o Gnome o algn manejador de ventanas como Xfce o Twm. Dentro del Home del usuario, se crear un directorio o archivo escondido "." , por ejemplo '.gnome' o '.kde' donde vendr la configuracin personalizada del usuario para ese entorno. Dentro de este directorio suele haber varios directorios y archivos de configuracin. Estos son sumamente variados dependiendo de la distribucin y del entorno. No es recomendable modificar manualmente (aunque es perfectamente posible) estos archivos, es mucho mas sencillo modificar va las interfases grficas que permiten cambiar el fondo, protector de pantalla, estilos de ventanas, tamaos de letras, etc.

Resumen de comandos y archivos de administracin de usuarios


Existen varios comandos ms que se usan muy poco en la administracin de usuarios, que sin embargo permiten administrar aun ms a detalle a tus usuarios de Linux. Algunos de estos comandos permiten hacer lo mismo que los comandos previamente vistos, solo que de otra manera, y otros como 'chpasswd' y 'newusers' resultan muy tiles y prcticos cuando de dar de alta a mltiples usuarios se trata. A continuacin te presento un resumen de los comandos y archivos vistos en este tutorial ms otros que un poco de investigacin Comandos de administracin y control de usuarios Ver useradd Permite cambiar o establecer parmetros de las fechas de control de la contrasea. Actualiza o establece contraseas en modo batch, mltiples usuarios a la vez. (se usa junto con newusers) Muestra la identidad del usuario (UID) y los grupos a los que pertence. Administra las contraseas de grupos (/etc/group y /etc/gshadow). Aade grupos al sistema (/etc/group). Elimina grupos del sistema. Modifica grupos del sistema. Muestra los grupos a los que pertence el usuario. Actualiza o crea usuarios en modo batch, mltiples usuarios a la vez. (se usa junto chpasswd) Establece la proteccin shadow (/etc/shadow) al archivo /etc/passwd. Elimina la proteccin shadow (/etc/shadow) al archivo /etc/passwd. Aade usuarios al sistema (/etc/passwd). Elimina usuarios del sistema. Modifica usuarios.

adduser chage chpasswd id gpasswd groupadd groupdel groupmod groups newusers pwconv pwunconv useradd userdel usermod

Archivos de administracin y control de usuarios .bash_logout Se ejecuta cuando el usuario abandona la sesin. .bash_profile Se ejecuta cuando el usuario inicia la sesin. .bashrc Se ejecuta cuando el usuario inicia la sesin. /etc/group Usuarios y sus grupos. /etc/gshadow Contraseas encriptadas de los grupos. /etc/login.defs Variables que controlan los aspectos de la creacin de usuarios. /etc/passwd Usuarios del sistema. /etc/shadow Contraseas encriptadas y control de fechas de usuarios del sistema.

Ambientes grficos y Web


Si usas Linux con Xwindow (gnome, kde, etc.) encontrars dentro de los mens una o varias opciones grficas de administracin de usuarios, asi como programas basados en Web como webmin que entre muchas otras cosas te permiten un control total de la administracin de usuarios y grupos. Estos programas de gestin de usuarios son sumamente intuitivos y en una sola pantalla a travs de sus opciones puedes controlar prcticamente todas las funciones unciones expuestas en este tutorial, en lo particular recomiendo webmin por su confiablidad y alto nivel de configuracin, adems que es accesible via web.

Actualizacin para Ubuntu 12.04: En la gui (interfaz grfica), de la ah ra lla!ada "cuenta# de u#uari uari ", han $uitad alguna# pci ne# (ge#ti nar grup # % u#uari #) % b#ica!ente, # l #e puede crear&eli!inar u#uari #, tip de cuenta, idi !a, c ntra#e'a % pci ne# de inici . (i $uere! # !#, ha% $ue in#talar el pa$uete "gnome-system-tools".

Lmites a los usuarios


En los sitemas UNIX/LINUX existe la posibilidad de limitar recursos a los usuarios o grupos, por ejemplo, el mximo nmero de logins que puede realizar simultneamente un usuario, el mximo tiempo de CPU, el mximo nmero de procesos etc. Estos lmites se controlan en LINUX a travs del fichero /etc/security/limits.conf. Tambin 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 travs de la distribucin y, una vez instalado aparece un fichero de configuracin /etc/timeouts. En este fichero de configuracin las lneas en blanco o que comienzan por # no son interpretadas. El resto de las lneas 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 pgina de manual timeouts(8) se explica el significado de cada uno de los campos en estas lneas.
Ejemplos de lmites horarios

El u#uari cur# n puede hacer l gin durante el fin de #e!ana:

SaSu:*:curso:*:NOLOGIN

(l el u#uari r

t puede acceder de#de la# c n# la# tt%1)tt%*:

Al:tty1,tty2,tty3,tty4,tty5,tty6:root:*:LOGIN Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN

(l el u#uari r

t puede acceder entre la# 1+:00 % la# 1*: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 acta durante el proceso de login lo que da lugar a que, aunque un usuario tenga prohibido el acceso a una mquina en un momento determinado, inicialmente puede entrar y slo, 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 lneas en el fichero /etc/profile:
# Comprueba restricciones de timeoutd (ver timeoutd, timeouts(5))

/usr/sbin/timeoutd whoami basename \tty\ || exit

Con esta lnea incluso aunque el servicio timeoutd este parado si en el fichero /etc/timeouts se prohbe el acceso a un usuario ste no podr entrar en el sistema.

Lmites 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 lmites en la cantidad de espacio y el nmero de ficheros de que puede disponer un usuario o grupo. En las quotas hay cuatro nmeros para cada lmite: la cantidad actual ocupada; el lmite soft (quota propiamente dicha); el lmite hard (espacio sobre quota), y el tiempo que resta antes de eliminar el exceso entre soft y hard. Mientras que el lmite soft puede ser superado temporalmente, el lmite hard nunca puede rebasarse.

Administrando el sistema de quotas


Para implementar el sistema de quotas es necesario instalar algn 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:

- nfiguracin de .ernel

Antes de instalar el sistema de quotas debe disponerse de un kernel con la opcin de quotasystem habilitada. Esto se consigue en el proceso de compilacin 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 opcin habilitada.

Eleccin del #i#te!a de ficher # # bre el $ue #e aplican la# $u ta#

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 estn 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=remountro,usrquota,grpquota 0

/abilitar la# $u ta#

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.

E#pecificar $u ta# para u#uari # grup #

Para editar la quota de un usuario o grupo se usa el programa edquota con la opcin -u para editar las quotas de usuarios y con la opcin -g para editar las opciones de grupo. Slo hay que editar los nmeros que estn detrs de soft y hard. El perodo de gracia que hay entre el lmite soft y el hard puede cambiarse con:
edquota -t

La mayora de las veces los usuarios tienen la misma quota. Una forma rpida de editar la quota de todos los usuarios es colocarse en el directorio donde tienen sus directorios raz 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

0e#habilitar $u ta# para u#uari # grup #

Para deshabilitar las quotas de un usuario o grupo solo hay que editar las quotas y poner los lmites a 0. As un usuario puede usar tantos bloques e inodos como quiera.

Vous aimerez peut-être aussi