Está en la página 1de 4

Instalar y configurar un sistema de cuotas(quota) en ubuntu 12.

04 server
Instalar y configurar un sistema de cuotas(quota) en ubuntu
12.04 server
Continuando con el anterior post donde se monto un sistema RAID 1, por software, ahora vamos a
ponerle cuotas de espacio a los usuarios que van a utilizar el sistema RAID(ejemplo aplicable a un
servidor de correo o cualquier otro recurso compartido que requiera de almacenamiento fsico!"
sudo su
apt-get install quota
# $ditamos el archivo %etc%fstab & modificamos solo la linea que nos dice de que forma se va a montar
nuestro dispositivo RAID & en los permisos le diremos que vamos a utilizar cuotas para el usuario &
'rupo"
nano /etc/fstab
( %etc%fstab" static file s&stem information)
(
( *se +bl,id+ to print the universall& unique identifier for a
( device- this ma& be used with **ID. as a more robust wa& to name devices
( that wor,s even if dis,s are added and removed) /ee fstab(0!)
proc %proc proc nodev,noe1ec,nosuid 2 2
( % was on %dev%sda1 durin' installation
**ID.3454f667#f0f1#5cee#ba00#83bb934982e1 % e1t5 errors.remount#ro 2 1
( swap was on %dev%sda0 durin' installation
**ID.1df0c2e3#86ce#5fd9#ba8a#9562acf1b6e8 none swap sw 2 2
%dev%fd2 %media%flopp&2 auto rw,user,noauto,e1ec,utf4 2 2
%dev%md163 %datos e1t6 defaults,usrquotagrpquota 2 2
root!ubuntu"/# reboot
#:ras reiniciar, en el punto de montaje del dispositivo RAID nos debe aparecer dos nuevos ficheros
root!ubuntu"/# ls /datos/
aquota)'roup aquota)user lost;found
<ara hacer un test & comprobar que todo ha ido bien, ejecutar"
root!ubuntu"/# quotac$ec% -cug /datos
/i todo ha ido bien, &a tenemos el sistema de cuotas montado & solo faltara definir las cuotas)
# =as cuotas se pueden definir a nivel de usuario, ar'umento #u, o a nivel de 'rupo con el ar'umento #'"
root!ubuntu"/# groupadd contabilidad
root!ubuntu"/# useradd -g contabilidad -s/bin/bas$ -p user1 -d /$ome/user1 -m user1
root!ubuntu"/# useradd -g contabilidad -s/bin/bas$ -p user2 -d /$ome/user2 -m user2
root!ubuntu"/# quota -g contabilidad
Dis, quotas for 'roup contabilidad ('id 1228!" none
# Definimos la cuota para el 'rupo contabilidad, con edcuota"
root!ubuntu"/# edquota -g contabilidad
Dis, quotas for 'roup contabilidad ('id 1228!"
>iles&stem bloc,s soft hard inodes soft hard
%dev%md163 2 2 2 2 6 5
* En este caso la cuota de se ha limitado por n de entradas, 4 mximo o duro y 2 de gracia o blando, en el punto montaje,
pero personalmente considero que es ms efectivo limitar por tamao, por lo que hay va un ejemplo!
/dev/md0 0 3072 6144 10 0 0
* Se limita al grupo a utilizar un mximo de 6 Mb y una cuota de gracia de 3Mb.
La cuota de gracia significa: una vez superada esta cuota se avisa al usuario dendole escribir !asta
el limite mximo o duro" mientras #ue no expire el periodo de gracia" una vez agotado dic!o periodo el
sistema no deara al usuario o grupo escribir.
- Para establecer el periodo de gracia basta con ejecutar:
root!ubuntu"/# edquota -t
?race period before enforcin' soft limits for users"
:ime units ma& be" da&s, hours, minutes, or seconds
>iles&stem @loc, 'race period Inode 'race period
%dev%md2 3da&s 3da&s
# Damos los permisos que estimemos al punto montaje, en este ejemplo Acafe para todosB"
root!ubuntu"/# c$mod &&& /datos/
-<ara comprobar que todo a ido bien, nos lo'ueamos como un usuario del 'rupo contabilidad & en el
punto montaje creamos un fichero & a continuaciCn vemos el estado de la cuota del 'rupo"
root!ubuntu"/# su user1
user1!ubuntu"/' cd /datos/
user1!ubuntu"/datos' touc$ prueba1 prueba2 prueba( prueba4
user1!ubuntu"/datos' quota -g contabilidad
Dis, quotas for 'roup contabilidad ('id 1228!"
>iles&stem bloc,s quota limit 'race files quota limit 'race
%dev%md2 2 2 2 5D 6 5 3da&s
# $n este momento nos lo'earemos con otro usuario del 'rupo e intentaremos crear otro fichero"
root!ubuntu"/datos# su user2
user2!ubuntu"/datos' cd /datos/
user2!ubuntu"/datos' ls
aquota)'roup aquota)user lost;found prueba1 prueba6 prueba8 prueba5
user2!ubuntu"/datos' touc$ prueba)
touch" cannot touch Eprueba0+" Dis, quota e1ceeded
# <ara desactivar las cuotas, ejecutar como root"
root!ubuntu"/datos# quotaoff -aug
# Comprobamos que efectivamente las cuotas se han sido desactivadas"
root!ubuntu"/datos# su user1
user1!ubuntu"/' cd datos
user1!ubuntu"/datos' touc$ prueba)
user1!ubuntu"/datos' ls
aquota)'roup aquota)user lost;found prueba1 prueba6 prueba8 prueba5 prueba0
# <ara volver a activarlas, como root"
root!ubuntu"/datos# quotaon -aug
- Ahora vamos ha ver unos comandos que nos facilitaran la administraciCn del sistema de cuotas"
$stado actual de nuestro sistema de cuotas, comando repquota"
root!ubuntu"/$ome/antonio# repquota /datos/

DDD Report for user quotas on device %dev%md2
@loc, 'race time" 3da&s- Inode 'race time" 3da&s
@loc, limits >ile limits
*ser used soft hard 'race used soft hard 'race
######################################################################
root ## 6 2 2 2 6 2 2
user1 #; 2 2 2 5 6 5 3da&s
* "unque se le definan una cuota al root, estas no se le aplicaran#
<ara ver un reporte de todos los dispositivos RAID, repquota #a)
<ara aFadir repquota al cron, para que nos ha'a un reporte diario"
1) Editamos fichero %etc%cron)dail& e insertamos"
repquota /datos * reporte
* En esta parte, imaginaci$n al poder, ya podemos hacer un script#
Guota nos da la posibilidad de que cuando un usuario halla rebasado su cuota de 'racia se le
enve un correo, esto se confi'ura editando el archivo /etc/+arnquota.conf"
- - and ( t&pe comments are allowed
( and even blan, lines
( values can be quoted"
HAI=ICHD . J%usr%sbin%sendmail #tJ
>RKH . JrootLlocalhostJ
( but the& don+t have to be"
/*@M$C: . cuota disco rebasada
CCI:K . J111111L'mail)comJ
( Acordaos que en el anterior post &a confi'uramos postfi1 para que utilizara 'mail
/*<<KR: . JrootLlocalhostJ
<NKO$ . J111 111 111J
(
CNAR/$: . *:>#4
(
H$//A?$ . Nola Pi, tu cuota de disco en Ph)Pd esta a punto de lle'ar al lmite, por
favor borre archivos innecesarios, 'racias)
I,-./01203. Impedir que todas la cuentas de usuario e4cepto las de root pueda iniciar
sesi5n para que ning6n usuario te $aga un ss$ y te lo 7tumbe8 todo. -ara lo cual editamos el
fic$ero /etc/pass+d y modificamos su interprete de comandos por e9emplo modificarlo con
/bin/2.:.;<.