Las cuotas son una opción del sistema operativo que le permite limitar la cantidad de espacio en disco y/o el número de fichero que un usuario o miembros de un grupo pueden crear en el sistema, pudiendo además hacerlo de forma independiente en cada sistema de ficheros. Suele usarse principalmente en sistemas de tiempo compartido, donde se busca limitar la cantidad de recursos que cualquier usuario o grupo pueden utilizar. Esto evitará que un usuario o un grupo de usuarios consuma todos el espacio disponible en disco.
Antes de intentar configurar el uso de cuotas de disco hay que asegurarse de que las cuotas están activadas en el kernel. La siguiente línea debe estar en el fichero de de configuración del kernel:
El kernel GENERIC
no lo tiene activado
por defecto, así que tendrá que configurar,
compilar e instalar un kernel personalizado para
poder usar cuotas de disco. Por favor, consulte el
Capítulo 8, Configuración del kernel de FreeBSD para más información
sobre la configuración del kernel.
A continuación tendrá que habilitar
las cuotas de disco en /etc/rc.conf
.
Añadale la siguiente línea:
Hay una variable que le permitirá efectuar un
control más exhaustivo sobre el arranque de cuotas.
Normalmente se revisa la integridad de cuotas de cada sistema
de ficheros en el arranque; el responsable es
quotacheck(8). quotacheck(8) se asegura de que los
datos que hay en su base de datos de cuotas reflejen
realmente los datos del sistema de ficheros. Es un proceso
que lleva mucho tiempo y que afectará significativamente
al tiempo que tardará su sistema en arrancar. Si desea
saltarse ese paso puede usar una variable al efecto en
/etc/rc.conf
:
Para concluir tendrá que editar
/etc/fstab
para habilitar las cuotas de disco
para cada sistema de ficheros. Es aquí donde podrá
habilitar cuotas por usuario, por grupo, o ambos en todos sus
sistemas de ficheros.
Para habilitar cuotas por usuario en un sistema de
ficheros añada la opción userquota
al
campo de opciones en la entrada de /etc/fstab
que corresponda al sistema de ficheros en el que quiere habilitar
las cuotas. Veamos un ejemplo:
En el caso de las cuotas de grupo es muy similar.
Use la opción groupquota
en lugar
de userquota
. Para habilitar
cuotas por usuario y por grupo modifique la entrada
de este modo:
Por defecto los ficheros de cuota se guardan en
el directorio raíz del sistema de ficheros con los
nombres quota.user
y
quota.group
para cuotas de usuario y grupo respectivamente.
Consulte fstab(5) para más información.
Aunque la página de manual de fstab(5) diga que puede
especificar otra ubicación para los ficheros de
cuota, no se recomienda hacerlo debido a que las diversas herramientas
de gestió cuotas no parecen sobrellevar esto
adecuadamente.
Hecho todo esto puede reiniciar su sistema con el nuevo
kernel. /etc/rc
ejecutará
automáticamente los comandos apropiados para crear los
ficheros de cuota iniciales que requieran todas las entradas en
en /etc/fstab
, así que no hay
necesidad de crear ficheros de cuota de longitud cero.
En el curso normal de operaciones no se le debería pedir que ejecute quotacheck(8), quotaon(8) o quotaoff(8) manualmente. Sin embargo, tal vez quiera leer sus páginas de manual para familiarizarse con su funcionamiento.
Una vez que tenga configurado su sistema para usar cuotas verifique que en realidad estén habilitadas. Una manera sencilla de hacer esto es ejecutar:
#
quota -v
Debe ver un resumen de una sola línea de uso del disco y los límites de cuota actuales para cada sistema de ficheros donde estén habilitadas las cuotas.
Ahora puede iniciar la asignación de límites de cuota con edquota(8).
Tiene varias opciones para imponer límites en el espacio de disco que un usuario o grupo puede ocupar, y cuántos ficheros pueden crear. Puede limitar el uso de disco basándose en el espacio en disco (cuotas de bloque) o en el número de ficheros (cuotas de inodo) o una combinación de ambas. Cada uno de estos límites a su vez se divide en dos categorías: límites duros y suaves.
Un límite duro no puede ser excedido. Una vez que un usuario alcanza su límite duro no puede realizar más ubicaciones en el sistema de ficheros en cuestión. Por ejemplo, si el usuario tiene un límite duro de 500 kbytes en un sistema de ficheros y está utilizando 490 kbytes, el usuario solo puede ocupar otros 10 kbytes. Un intento de ocupar 11 kbytes más fallará.
Los límites suaves pueden excederse por un periodo Este periodo de tiempo recibe el nombre de periodo de gracia, que por defecto es una semana. Si un usuario sobrepasa su periodo de gracia el límite suave se convertirá en un límite duro y no se permitir´n usos de disco adicionales. Cuando el usuario devuelve su cuota de uso de recursos a un punto por debajo de su límite suave el periodo de gracia se reinicia.
Veamos un ejemplo de uso de edquota(8).
Si se usa edquota(8) se entra en el el editor declarado en
la variable de entorno
EDITOR
, o en el editor vi
si no ha modificado el valor por defecto de la variable
EDITOR
, para que pueda editar los
límites de cuota.
#
edquota -u test
Debería ver dos líneas por cada sistema de ficheros que tenga habilitadas las cuotas. Una línea para los límites de bloque y una línea para límites de inodo. Por ejemplo, para elevar los límites de este usuario de un límite suave de 50 y un límite duro de 75 a un límite suave de 500 y un límite duro de 600, cambie:
por:
Los nuevos límites de cuota se aplicarán en cuanto salga del editor.
Algunas veces se quieren activar límites de cuota
en un rango de UIDs. Esto puede realizarse con la opción
-p
de edquota(8). Primero asigne el
límite de cuota deseado a un usuario y luego
ejecute
edquota -p protouser startuid-enduid
. Por
ejemplo, si el usuario test
tiene el
límite de cuota deseado, el siguiente comando puede
usarse para duplicar esos límites de cuota para los
UIDs de 10,000 hasta 19,999:
#
edquota -p test 10000-19999
Para más información consulte la página de manual edquota(8).
Puede usar quota(1) o repquota(8) para revisar los límites de cuota y uso del disco. El comando quota(1) le permitirá revisar cuotas individuales de usuario o grupo y uso del disco. Un usuario puede sólamente examinar su propia cuota y la cuota de un grupo al que pertenezca. Sólamente el superusuario puede ver las cuotas de todos los usuarios y grupos. repquota(8) permite obtener un resumen de todas las cuotas y uso del disco de todos los sistemas de ficheros con cuotas habilitadas.
En el siguiente ejemplo vemos la salida de
quota -v
para un usuario
que tiene límites de cuota en dos sistemas
de ficheros.
En el sistema de ficheros /usr
del
ejemplo este usuario está actualmente
15 kbytes sobre su límite suave de 50 kbytes y le quedan 5
días de su periodo de gracia. Observe el asterisco,
*
que indica que el usuario está
actualmente por encima de su límite de cuota.
Normalmente los sistemas de ficheros en los que el usuario
no esté utilizando espacio en disco no se mostrarán
en la salida del comando quota(1), incluso si tiene
un límite de cuota asignado para esos sistemas
de fichero. La opción -v
desplegará esos sistemas de ficheros, en nuestro ejemplo
el sistema de ficheros /usr/var
.
Las cuotas son impuestas por el subsistema de cuotas en el servidor NFS. El dæmon rpc.rquotad(8) facilita la información a quota(1) en los clientes NFS, permitiéndoles a los usuarios de esas máquinas ver sus estadísticas de cuota.
Habilite rpc.rquotad
en
/etc/inetd.conf
del siguiente modo:
Y reinicie inetd
:
#
kill -HUP `cat /var/run/inetd.pid`
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.