Como hemos vito, Mysql crea y gestiona los ficheros asignándole como propietario mysql y como grupo también el grupo mysql. Aquí vamos a tener que, en primer lugar asegurarnos que el grupo propietario del directorio y su contenido pasan a propiedad del grupo que tiene la cuotas asignadas:
cd /var/lib/mysql
chgrp -R migrupo dir_basedatos
|
es decir, hacemos que dir_basedatos, que es el directorio que contiene la base de datos, pertenezca al grupo "migrupo". Este grupo es el que queremos limitar y al cual le vamos a asignar ls cuotas. Pero esto no es suficiente porque si creamos una nueva tabla, se crearía un nuevo fichero que volvería a tener como propietario mysql y como grupo mysql también, con lo cual no funcionaría el sistema de cuotas; tenemos que asegurarnos de que cada nuevo fichero que se cree en ese directorio tenga como grupo "migrupo" en lugar de "mysql". Esto es fácil, asignamos el permiso SGID al directorio y esto hace exáctamente lo que queremos, que cada nuevo fichero creado sea propiedad del grupo propietario del directorio, no del grupo que lo crea. Entonces:
chmod +s migrupo
|
El siguiente paso sería crear, si no lo tenemos, unas cuotas para una serie de usuarios prototipo. La idea es facilitar posteriormente las asignaciones de cuotas:
edquota -u prototipobd
|
Ahora ya podemos asignar cuotas de forma fácil al grupo "migrupo" copiando las cuotas que definimos para el usuario prototipobd.
edquota -p prototipobd -g migrupo
|
Ya el sistema debería controlar el espacio máximo de almacenamiento en la partición /var para el grupo "migrupo".