Ads 468x60px

viernes, 31 de mayo de 2013

Asignar Quotas A Usuarios En Linux

Asignar Quotas A Usuarios En Linux
Seguramente si tienes un servidor FTP o de red o sencillamente un servidor, donde varios usuarios tienen acceso o comparten cosas, querras limitar el espacio de disco duro a utilizar por cada usuario, todos sabemos que hoy dia vienen mucho espacio en GB, TB o mas dentro de los discos duros, pero al mismo tiempo que muchos discos duros sean enormes en espacio no querra decir que deseas que un sinumero de usuarios con acceso a tu servidor linux te consuman 50GB o mas de espacio en pura peliculas, fotos de sus viajes, hijos, familia, abuela, libros, y de mas cosas triviales que a los usuarios les encanta recolectar. Es por ese motivo que existe la asignacion de quotas en linux, que te permiten limitar el espacio total disponible en disco a un usuario.

En esta ocasion, expondre la manera de como instalar y configurar las quotas en distribuciones GNU/Linux derivadas de RedHat (Centos, Fedora, etc) y Suse.

El paquete quota viene por defecto incluido en el sistema operativo, pero por si alguna razon solo realizaste una instalacion minima o basica, puedes obtener el paquete de quotas de la siguiente manera, en Centos :

yum -y install quota

En OpenSuse:

yast -i quota
 
Una vez cumplido el requisito anterior, comenzamos con manos a la obra. Durante la instalacion, debio asignarse uno o mas directorios para crear las quotas, digamos que dicho directorios seleccionados para ejercer quotas en ellos son /var y /home, asi que edita como root el archivo /etc/fstab.

PD: Si utiliza CentOS 6, Fedora™, Red Hat™ Enterprise Linux 6 o SUSE™ Linux Enterprise 11, puede utilizar cuotas con registro por diario (journaled quotas) sin modificar el núcleo del sistema o instalar otra versión de quota-tools. Las cuotas con registro por diario funcionan de modo similar al registro por diario de los sistemas de archivos Ext3/Ext4, garantizando la integridad de los archivos de cuotas, lo cual evita que el sistema se vea obligado a ejecutar automáticamente el mandato quotacheck después de un apagado incorrecto.

Una vez abierto para ediccion el fichero /etc/fstab, agrega a la columna referente a /var y /home (o en tu caso a los directorios que fueron seleccionados como defecto para quotas) la opcion usrjquota con el valor aquota.user. la opción grpjquota con el valor aquota.group y la opción jqfmt con el valor vfsv0:

Si utiliza CentOS, Fedora™ o Red Hat™ Enterprise Linux, el siguiente es un ejemplo de cómo pudiera quedar la configuración de las particiones.

/dev/sda7  /var   ext4  defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0  1 2
/dev/sda5  /home  ext4  defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0  1 2


Si utiliza openSUSE™ o SUSE™ Linux Enterprise Linux, el siguiente es un ejemplo de cómo pudiera quedar la configuración de las particiones.

        /dev/sda7  /var   ext3  acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0  1 2
        /dev/sda5  /home  ext3  acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0  1 2



A considerar , si estas usando Centos 5, RedhHat 5 o Suse Enterprise 10, ten pendiente que las quotas no soportan el registro diario o journaling por defecto, por lo que vas a requerir un parche para el kernel para poder soportar esto, o sencillamente utilizar quotas sin la opcion de journaling, ya eso es algo opcional de tu persona que aunque veo dificil que utilizes versiones antiguas de estas distribuciones linux, todo es posible....

Bien, una vez realizado lo anterior hay que guardar los cambios , los cuales aplican o reiniciando el PC o ayudandonos del comando mount.

mount -o remount /var
mount -o remount /home

Ten pendiente que las particiones deben ser desmontadas y montadas nuevamente, por lo que si tu o algun usuario esta trabajando en algun fichero guardado en dicha particion, no podras desmontarla te dira que el dispositivo esta ocupado y no desmontara. Asi que procura trabajar sobre particiones que si puedes desmontar.

Luego como la particiones fueron remontadas, toca verificar si la integridad de data funciona correctamente:

quotacheck -avugcm

Si todo sale bien, y no te hace mencion de error, ya puedes activar sin miedo las quotas en dichas carpetas:

quotaon /home
quotaon /var

Ya todo queda funcional, lo que te queda es literalmente monitorear o administrar las quotas existentes.  Para eso existen comandos como edquota. Por ejemplo si quieres asignar quotas para el usuario "fantasmita" ejecutarias el comando:

edquota fantasmita

Si tienes un grupo en el sistema y dentro de dicho grupo varios usuarios, puedes asignar quotas a un grupo masivo de usuarios que esten dentro de dicho grupo en un solo comando. Por ejemplo, imagina que tienes un grupo en tu sistema llamado 'roles' y dentro de dicho grupo estan los usuarios 'pepe, luis, maria' bien ejecutas el comando:

edquota -g roles

Y automaticamente se les asignaran quotas de espacio limitado a todos los usuarios dentro del grupo roles, en este caso a pepe, luis y maria.



No hay comentarios:

Publicar un comentario