1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
|
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="quotas">
<title>Cuotas de disco</title>
<para><emphasis>Contribuido por &a.mpp;. 26 Febrero
1996</emphasis></para>
<para>Las cuotas constituyen una prestación del sistema operativo que
le permite limitar la cantidad de espacio en disco y/o el número de
archivos de que un usuario puede disponer en un determinado sistema de archivos.
Habitualmente se utiliza en sistemas multiusuario en los que resulta deseable
limitar la cantidad de recursos de que puede disponer cada usuario o grupo de
usuarios. De este modo se impide que un usuario agote todo el espacio disponible
en un disco.</para>
<sect1>
<title>Configurando su sistema para habilitar las cuotas de disco</title>
<para>Antes de intentar usar las cuotas de disco es necesario asegurarse de que
se encuentran habilitadas en el núcleo del sistema operativo. Esto se
consigue añadiendo la siguiente línea al archivo de configuración
del núcleo:</para>
<programlisting>
options QUOTA</programlisting>
<para>El núcleo que se incluye de serie (<filename>GENERIC</filename>) no
tiene esta función activada por defecto, por lo que tendrá que
configurar, crear e instalar un núcleo a medida para utilizar las cuotas
de disco. Puede acudir a la sección <link linkend="kernelconfig">Configurando
el núcleo de FreeBSD</link>, donde encontrará más información
acerca de la configuración del núcleo.</para>
<para>A continuación, necesitará habilitar las cuotas de disco en
<filename>/etc/sysconfig</filename>. Esto se hace cambiando la línea:
<programlisting>
quotas=NO</programlisting>
por:
<programlisting>
quotas=YES</programlisting></para>
<para>Si está utilizando FreeBSD 2.2.2 o posterior, el archivo de
configuración será <filename>/etc/rc.conf</filename> y el nombre de
la variable habrá cambiado a:</para>
<programlisting>
check_quotas=YES</programlisting>
<para>Finalmente, necesitará editar <filename>/etc/fstab</filename> para
habilitar las cuotas de disco de forma individualizada para cada sistema de archivos.
Es aquí donde puede habilitar cuotas para usuarios, grupos o ambos y para
todos sus sistemas de archivos.</para>
<para>Para habilitar las cuotas de disco para un determinado usuario en un sistema
de archivos, añada la opción <literal>userquota</literal> en el archivo
<filename>/etc/fstab</filename>, en el campo de opciones del registro correspondiente
al sistema de archivos para el cual quiere habilitar las cuotas. Por ejemplo:</para>
<programlisting>
/dev/da1s2g /home ufs rw,userquota 1 2</programlisting>
<para>Análogamente, para habilitar las cuotas para grupos emplee la opción
<literal>groupquota</literal> en lugar de <literal>userquota</literal>. Para
habilitar ambas, cuotas de usuario y de grupo, cambie el registro del siguiente modo:
</para>
<programlisting>
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting>
<para>Por defecto, los archivos relacionados con las cuotas se almacenan en el
directorio raíz del sistema de archivos con los nombres
<filename>quota.user</filename> y <filename>quota.group</filename>, para las cuotas
de usuarios y de grupos, respectivamente. Consulte <command>man fstab</command> para
más información. Aunque esa página man afirma que se puede
especificar un emplazamiento alternativo para los archivos relacionados con las
cuotas, esto no es recomendable ya que las diversas utilidades de las cuotas no
parecen adaptarse convenientemente a este cambio.</para>
<para>En este momento debería reiniciar su sistema con el nuevo núcleo.
<filename>/etc/rc</filename> ejecutará automáticamente los comandos
apropiados para crear los archivos iniciales de las cuotas para todas las cuotas que
haya activado en <filename>/etc/fstab</filename>, por lo que no hace falta crear
manualmente ningún archivo de cuotas de logitud cero.</para>
<para>Durante el funcionamiento normal del sistema, no debería ser necesario ejecutar
manualmente los comandos <command>quotacheck</command>, <command>quotaon</command>,
o <command>quotaoff</command>. Sin embargo, puede interesarle leer sus páginas
man para familiarizarse con su funcionamiento.</para>
</sect1>
<sect1>
<title>Fijando los límites de las cuotas</title>
<para>Una vez haya configurado su sistema para habilitar las cuotas, compruebe que
realmente han sido habilitadas. Una forma de hacerlo fácilmente es ejecutar</para>
<screen>&prompt.root; <userinput>quota -v</userinput></screen>
<para>Debería aparecer una línea describiendo la utilización de
los discos y los límites actuales de cuotas para cada sistema de archivos en
el que estén activadas las cuotas.</para>
<para>Ya está listo para comenzar a asignar límites de cuota con el
mandato <command>edquota</command>.</para>
<para>Tiene varias opciones acerca de cómo aplicar límites a la cantidad
de espacio en disco de que un usuario o grupo puede disponer y la cantidad de archivos
que pueden crear. Puede limitar la cantidad de disco utilizada en función del
espacio físico usado (cuotas de bloque), en función de los archivos
(cuotas de inode) o en función de una combinación de ambos. Cada uno de
estos límites se divide en dos categorías: límites flexibles y
rígidos.</para>
<para>Los límites rígidos no pueden ser sobrepasados. Cuando un usuario
alcanza su límite rígido, ya no puede disponer de más espacio en
el sistema de archivos en cuestión. Por ejemplo, si el usuario tiene un
límite rígido de 500 bloques en un determinado sistema de archivos y
ya está utilizando 490 bloques, el usuario sólo puede asignar 10 bloques
adicionales. Cualquier intento de asignar 11 bloques fracasará.</para>
<para>Por otra parte, los límites flexibles pueden ser sobrepasados por un
periodo de tiempo limitado. Este periodo de tiempo se conoce como el periodo de gracia,
que dura una semana por defecto. Si un usuario permanece por encima de su límite
flexible más allá del periodo de gracia, el límite flexible se
convertirá en un límite rígido y no se permitirá realizar
nuevas asignaciones. Cuando el usuario se vuelva a situar por debajo del límite
flexible, el periodo de gracia se reiniciará.</para>
<para>A continuación se muestra un ejemplo de lo que podrá ver cuando
ejecute el comando <command>edquota</command>. Cuando se invoca el comando
<command>edquota</command>, se inicia el editor espeficado en la variable de entorno
<envar>EDITOR</envar>, o el editor <command>vi</command> en caso de que la variable
<envar>EDITOR</envar> no se encuentre definida, permitiéndole editar los
límites de las cuotas de disco.</para>
<screen>&prompt.root; <userinput>edquota -u test</userinput></screen>
<programlisting>
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)</programlisting>
<para>Normalmente verá dos líneas por cada sistema de archivos que
tenga activadas las cuotas de disco. Una línea para los límites de
bloques y otra para los límites de inodes. Para modificar los límites
de las cuotas, simplemente cambie el valor que quiere actualizar. Por ejemplo, para
elevar el límite de bloques de este usuario de un límite flexible de
50 y un límite rígido de 75 a un límite flexible de 500 y a un
límite rígido de 600, cambie:
<programlisting> /usr: blocks in use: 65, limits (soft = 50, hard = 75)</programlisting>
por: <programlisting> /usr: blocks in use: 65, limits (soft = 500, hard = 600)
</programlisting></para>
<para>Los nuevos límites estarán vigentes cuando salga del editor.</para>
<para>En ocasiones resulta deseable imponer límites en las cuotas de disco
a un intervalo de UIDs (número de identificación de usuario). Esto
se puede hacer empleando la opción <option>-p</option> del comando
<command>edquota</command>. En primer lugar, asigne el límite deseado al
usuario y luego ejecute <command>edquota -p protouser UID_inicial-UID_final</command>.
Por ejemplo, si el usuario <username>test</username> está sujeto a límites
en la cuota de disco, el siguiente comando puede ser empleado para duplicar esos
límites para los UIDs comprendidos entre 10000 y 19999:</para>
<screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>
<para>La capacidad de especificar intervalos de UIDs se añadió al
sistema después de que la versión 2.1 fuese distribuida. Si necesita
esta función en un sistema 2.1, deberá conseguir una copia más
reciente de edquota.</para>
<para>Consulte <command>man edquota</command>, donde encontrará información
más detallada.</para>
</sect1>
<sect1>
<title>Comprobando los límites en las cuotas y la utilización de
los discos</title>
<para>Puede utilizar el comando <command>quota</command>, o bien el comando
<command>repquota</command> para comprobar los límites en las cuotas y la
utilización de los discos. El comando <command>quota</command> puede ser
empleado para comprobar cuotas individuales y de grupo, así como la
utilización de los discos. Sólo el administrador del sistema puede
examinar las cuotas y la utilización de los discos por otros usuarios o por
grupos de los que no es miembro. El comando <command>repquota</command> puede ser
empleado para obtener un resumen de todas las cuotas y la utilización de los
discos para sistemas de archivos que tengan las cuotas habilitadas.</para>
<para>A continuación se muestra un ejemplo de la salida del comando
<command>quota -v</command> para un usuario que está sujeto a límites
en la cuota de disco en dos sistemas de archivos.</para>
<programlisting>
Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60</programlisting>
<para>En el ejemplo anterior, en el sistema de archivos <filename>/usr</filename> el
usuario ya ha sobrepasado en 15 bloques su límite flexible (fijado en 50 bloques)
y aún dispone de 5 días del periodo de gracia. Observe la presencia de un
asterisco <literal>*</literal>, lo cual indica que el usuario ha sobrepasado su
límite en la cuota de disco.</para>
<para>Normalmente, aquellos sistemas de archivos en los que el usuario no esté
utilizando espacio no figurarán en la salida del comando <command>quota</command>,
aunque el usuario tenga asignado un límite en la cuota de disco para esos
sistemas de archivos. La opción <option>-v</option> mostrará esos
sistemas de archivos, como ha sucedido con <filename>/usr/var</filename> en el ejemplo
anterior.</para>
</sect1>
<sect1>
<title>* Cuotas a través de NFS</title>
<para>Esta sección se encuentra en desarrollo.</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->
|