Saltar la navegación

2.8.- Cuotas de disco para los usuarios (I).

Ilustración en la que se ve un manojo de 6 cerezas de distinto tamaño y al lado de cada una, una figura similar a un bolo, de un usuario sin rostro y de medio cuerpo, de tamaño correlativo.
_rfc_ (CC BY-NC-SA)

La capacidad de almacenamiento no es infinita, por lo tanto será interesante saber cómo crear cuotas de disco para los usuarios y ya puestos para los usuarios en los virtualhosts.

El archivo /etc/proftpd/proftpd.conf llama mediante la directiva Include al archivo /etc/proftpd/modules.conf en el que están activadas las cuotas (LoadModule mod_quotatab.c, LoadModule mod_quotatab_file.c), luego para activarlas tienes que sustituir en el archivo /etc/proftpd/proftpd.conf el código:

<IfModule mod_quotatab.c>
    QuotaEngine off
</IfModule>

por el código siguiente:

<IfModule mod_quotatab.c> 
    QuotaEngine on 
    QuotaLog /var/log/proftpd/quota.log 
    <IfModule mod_quotatab_file.c> 
        QuotaLimitTable file:/etc/proftpd/ftpquota.limittab 
        QuotaTallyTable file:/etc/proftpd/ftpquota.tallytab 
    </IfModule> 
</IfModule> 

donde,

<IfModule mod_quotatab.c> … </IfModule> → Indica que si el módulo mod_quotatab.c está cargado en el archivo /etc/proftpd/modules.conf se realizarán las directivas que contengan.

QuotaEngine on → Activa las cuotas.

QuotaLog /var/log/proftpd/quota.log → Indica el archivo de registro sobre cuotas.

<IfModule mod_quotatab_file.c> … </IfModule> → Indica que si el módulo mod_quotatab_file.c está cargado en el archivo /etc/proftpd/modules.conf se realizarán las directivas que contengan.

QuotaLimitTable file:/etc/proftpd/ftpquota.limittab → Indica el archivo sobre el límite de cuotas Limit.

QuotaTallyTable file:/etc/proftpd/ftpquota.tallytab → Indica el archivo sobre el límite de cuotas Tally.

Para ProtFTPD existen básicamente dos tipos de cuotas: limit y tally.

  • Limit: Es la cuota que te interesa si estás pensando en restringir el espacio en disco a los usuarios. Éste puede ser soft, cuando existe un espacio de gracia(tamaño en bytes) que puede sobrepasar el límite, o hard cuando no existe un espacio de gracia.
  • Tally: Utilizado cuando quieres limitar el número de ficheros que se utilizan.

La forma más sencilla de crear las cuotas es hacer el símil upload=espacio en disco, con lo cual los archivos subidos no pueden ocupar más del que queramos darle como espacio en disco, esto es, los bytes subidos funcionan como espacio en disco, ya que no existe diferencia entre ellos, pues los bytes cargados a través de FTP se almacenan automáticamente en el disco, por lo que deberías emplear la cuota tipo limit.

Puedes crear las cuotas mediante el comando ftpquota:

# ftpquota --create-table --type=limit --table-path=/etc/proftpd/ftpquota.limittab 
# ftpquota --create-table --type=tally --table-path=/etc/proftpd/ftpquota.tallytab 

Por ejemplo, si quisieras limitar a un usuario de nombre user-empresa1 el espacio de subida en 4 GB:

 # ftpquota --add-record --type=limit --name=user-empresa1 --quota-type=user \ 
 --bytes-upload=4 --units=Gb --table-path=/etc/proftpd/ftpquota.limittab 

Y si quisieras limitar la subida y bajada a 4 GB y 2 GB respectivamente al usuario user-empresa2:

# ftpquota --add-record --type=limit --name=user-empresa2 --quota-type=user \ 
 --bytes-upload=4 --bytes-download=2 --units=Gb --table-path=/etc/proftpd/ftpquota.limittab