Nov 25

Cuotas de disco en Ubuntu

Tag: Informática, LinuxEmilio González Montaña @ 0:25
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No hay votaciones todavía)

De todos es conocido el uso de cuotas (quota) en Linux, para limitar el uso que determinados usuarios y/o grupos de usuarios hacen sobre las particiones de disco. Este tutorial explicará de manera sencilla como instalar y configurar un sistema de cuota en disco.

Lo primero es entrar como root (sudo -s) e instalar el paquete:

apt-get install quota

A continuación editamos el fichero de particiones /etc/fstab y editamos las opciones de la partición (la cuarta columna), y añadimos (separados por comas) las palabras usrquota (si queremos restringir por usuario) y grpquota (o por grupo). En nuestro caso hemos modificado la partición de /home:

/dev/sda1 / ext3 errors=remount-ro 0 1
/dev/sda2 /home ext3 defaults,usrquota,grpquota 0 2
/dev/sda3 none swap defaults 0 0
proc /proc proc defaults 0 0

Una vez hecho esto hay que reiniciar la máquina (con reboot).

Una vez reiniciada la máquina se nos habrán creado los ficheros aquota.user y aquota.group en la raíz de la partición escogida antes (en nuestro caso /home).

Para restringir la cuota a un usuario usaremos el comando edquota -u username donde username será el nombre del usuario a restringir (pueden restringirse varios usuarios a la vez, si separamos los nombres de usuarios por espacios). Esto hará que se lance un editor de texto con un fichero donde se describe el uso actual y la restricción actual de bloques de disco e inodos (enlaces a ficheros dentro del sistema de ficheros) para el usuario. Se desciben por tanto los siguientes valores (cada valor corresponde a una columna en el fichero):

  1. Filesystem: Partición restringida.
  2. blocks: Número de bloques (por un bloque se entiende 1Kb de datos) actualmente usados por el usuario.
  3. soft: Restricción suave de bloques, es decir valor máximo hasta que se dejará rebasar por un tiempo hasta que pasado un tiempo se limite al valor duro. Si vale 0 este límite no se aplicará.
  4. hard: Restricción dura de bloques a la que limitaremos al usuario, pero que dejaremos rebasar temporalmente hasta el límite suave. Si vale 0 este límite no se aplicará.
  5. inodes: Número de inodos actualmente en uso.
  6. soft: Restricción suave de inodos, es decir valor máximo hasta que se dejará rebasar por un tiempo hasta que pasado un tiempo se limite al valor duro. Si vale 0 este límite no se aplicará.
  7. hard: Restricción dura de inodos a la que limitaremos al usuario, pero que dejaremos rebasar temporalmente hasta el límite suave. Si vale 0 este límite no se aplicará.

Por ejemplo para limitar a 1Gb (1Gb = 1Kb x 1Kb = 1024 x 1024 = 1048576) una cuenta estableceremos el límite hard de bloques a 1048576:

Disk quotas for user compartido (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda2 24 0 1048576 6 0 0

Una vez que salvemos el fichero de texto, este se aplicará automáticamente al usuario.

Para restringir por grupos es igual salvo que el comando a invocar será edquota -g groupname.

Para que un usuario restringido pueda consultar la cuota usada y la disponible puede usar el comando quota:

Cuotas de disco para user compartido (uid 1001):
Archivo del sistema bloques quota límite graciaarchivos quota límite gracia
/dev/sda2 24 0 1048576 6 0 0

Con esto finaliza el artículo, si tenéis dudas preguntad, que intentaré contestaros.


Posts relacionados: Linux en Windows... (0), Recuperar GRUB t... (0), Servicios de est... (0), Servidor con IP ... (1), SSH sin password (0)
Posts en mismas categorías: Control de versi... (0), Recuperar GRUB t... (0), Servicios de est... (0), SSH sin password (0), Trabajo como fre... (0)
EHT Related v0.2.5 by Emilio González Montaña

RSS feed | Trackback URI

Comentarios »

Todavía sin comentarios.

Nombre (requerido)
E-mail (requerido - nunca mostrado públicamente)
URI
Su comentario (menor tamaño | mayor tamaño)
NOTA:Todo comentario repetido, que no aporte nada, o que pregunte cosas ya contestadas puede ser borrado sin previo aviso!