Las
cuotas son utilizadas para limitar a
usuarios o
grupos de éstos el consumo de espacio en disco. Sin las cuotas, uno
o más usuarios podrían subir archivos al servidor y ocupar todo el
espacio libre dentro de su partición, una vez que tal espacio
afectado esté lleno, otros usuarios ya no podrán accesar al disco.
De hecho, ésta es también una de las razones por la que se aconseja
hacer varias particiones del disco duro y montar diferentes
directorios en ellas. Por ejemplo, si se cuenta sólo con una
partición para el directorio raiz "/" y no se tuviera
cuotas, un usuario podría saturar su directorio de usuario y al
mismo tiempo, la partición completa para el sistema Al
llegar a este punto, el sistema se vuelve inestable e incluso, podría
resultar inaccesible para todo mundo incluído el superusuario.
Las
cuotras pueden ser impuestas por inodos
o por bloques
de discos.
Debido a que cada archivo del
sistema
requiere de un inodo,
en caso de limitar con este criterio, lo que realmente se
hace
es controlar el número de archivos que un usuario
puede alojar en su cuenta. Por otro lado, los bloques
de discos
se
encuentran definidos por su tamaño, cada
bloque de disco corresponde a un
1KB, entonces
por ejemplo si se limitan 100.000 bloques, se estaría limitando 100
Mb.
Así, al utilizar este último criterio lo que se
hace es
restringir la cantidad de espacio en disco al usuario.
Para
poder utilizar cuotas, se requiere que el kernel del
sistema las
soporte. Para
comprobar
si el
kernel
del
sistema actual
soporta o no quotas, ejecutar
la siguiente instrucción:
# cat /boot/config-`uname -r` |grep CONFIG_QUOTA
El
sistema arrojará la siguiente respuesta:
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
El "=y" indica que el kernel del sistema
actual está configurado para soportar cuotas. En el caso de obtener
una respuesta "=n", se debe reconfigurar el kernel y añadir
este soporte.
En distribuciones como Debian y sus derivados, se
debe instalar el paquete quota:
# apt-get install quota
El
siguiente paso consiste en activar las cuotas en el archivo
/etc/fstab.
Este archivo es el que guarda la información
sobre
los dispositivos a montar y los respectivos puntos de montaje y en él
se
indican
ciertas otras opciones (en la columna options),
entre ellas activar las cuotas para usuario (usrquota)
o para grupo (grpquota).
Entonces,
se procede a editar dicho archivo:
# nano /etc/fstab
Y
agregar ,usrquota,grpquota
seguido del último parámetro de la columna options
en
la partición que se desea establecer soporte para cuotas. Por
ejemplo:
/dev/sda2 /home ext3 defaults,usrquota,grpquota 0 2
Cabe
señalar que en el caso de que no se
tenga una
partición especial para /home, se
debe añadir
el usrquota
o grpquota
en
el directorio raiz /.
Ahora,
debemos remontar nuestra partición (o bien reiniciar el sistema),
para ello basta un
# mount -o remount /home
Seguido
de esto, crear
el archivo aquota.user (o aquota.group) antes de poder activar las
cuotas. Se
lo puede
hacer de la siguiente manera:
# quotacheck -fcugm /home
De este modo los archivos
aquota.user y aquota.group son creados en el directorio
configurado. Ahora es hora de especificar las cuotas, para ello se
hace uso de la instrucción edquota,
con lo que se abrirá un editor de texto y aparecerán los parámetros
de quota del usuario indicado:
# edquota
user1
Disk quotas for user
user1
(uid
10
01):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 2
000
0
25000
30000
20
0
0
Donde:
- blocks : Indica la cantidad de bloques (recordando que cada bloque equivale a un 1 Kb) utilizados por el usuario en su carpeta /home.
- soft : Este parámetro debe establecerce en bloques, que a la vez, es el que indica cuando se lanze una advertencia al usuario para indicarle que se está acercando al límite de cuota de disco establecido en hard.
- hard : Cómo se indico anteriormente, este parámetro es el que establece (en bloques igualmente) el límite del usuario.
- inodes : Este parámetro es el que indica cuantos inodes (recordando que un inodes corresponde a un archivo) tiene el usuario en su espacio asignado.
Una
vez configurado los parámetros deseados, se
puede ver un reporte de las
cuotas asignadas a todos los
usuarios de la siguiente
manera:
# repquota -u /
*** Report for user quotas on device /dev/
sda3
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 660364 0 0 20462 0 0
user1
--
20000
25000
30000
20
0 0
user2 -- 15
599
0 0 15 0 0
Otra
forma útil de establecer una cuota es con la herramienta quotatool
como se muestra a continuación (previa
instalación de quotatool):
#
quotatool -u
user1
-bq
3
0M -l '
3
0Mb' /
Si
se desea duplicar la configuración de la cuota de un usuario a otro,
basta con ejecutar la siguiente instrucción:
# edquota -up
user1
user2
Para
verificar:
# repquota -u /
*** Report for user quotas on device /dev/
sda3
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 660364 0 0 20462 0 0
user1
--
20000
25000
30000
20
0 0
user2 --
15599
25000
30000
15 0 0
No hay comentarios:
Publicar un comentario