Quota
Quota
Quota
Quota mini−HOWTO
Table of Contents
Quota mini−HOWTO.........................................................................................................................................1
Ralf van Dooren r.vdooren@snow.nl......................................................................................................1
1. What is quota?......................................................................................................................................1
2. Requirements for quota........................................................................................................................1
3. Quota setup: installation and configuration.........................................................................................1
4. Quota setup: tools................................................................................................................................1
5. Miscellaneous Quota Commands........................................................................................................2
1. What is quota?......................................................................................................................................2
1.1 What is quota for?..............................................................................................................................2
1.2 Current Status of Quota on Linux......................................................................................................2
2. Requirements for quota........................................................................................................................2
2.1 Kernel.................................................................................................................................................2
2.2 Quota software...................................................................................................................................3
3. Quota setup: installation and configuration.........................................................................................3
3.1 Patch the kernel..................................................................................................................................3
3.2 Reconfigure your kernel....................................................................................................................3
3.3 Compile and install the quota softwares............................................................................................3
3.4 Modify your system init script to check quota and turn quota on at boot time.................................4
3.5 Modify /etc/fstab................................................................................................................................4
3.6 Activate the quota system..................................................................................................................5
3.7 Add quotacheck to crontab................................................................................................................5
4. Quota setup: tools................................................................................................................................5
4.1 Assigning quota for a particular user.................................................................................................5
4.2 Assigning quota for a particular group..............................................................................................5
4.3 Assigning quota for a bunch of users with the same value................................................................5
4.4 Soft Limit...........................................................................................................................................6
4.5 Hard Limit..........................................................................................................................................6
4.6 Grace Period.......................................................................................................................................6
5. Miscellaneous Quota Commands........................................................................................................6
5.1 Quotacheck........................................................................................................................................6
5.2 Repquota............................................................................................................................................6
5.3 Quotaon and Quotaoff........................................................................................................................7
i
Quota mini−HOWTO
Ralf van Dooren r.vdooren@snow.nl
v0.5, 2003−08−09
Preamble: This document is written by Ralf van Dooren (r.vdooren@snow.nl). Original text and setup of this
document is copyleft−ed by Albert M.C. Tam, many thanks to him for this initial mini−HOWTO. This
document is licensed under the GNU Free Documentation License. Permission to use, copy, distribute this
document for non−commercial purposes is hereby granted, provided that the author's / editor's name and this
notice appear in all copies and/or supporting documents; that this document is not modified. This document is
distributed in hope that it will be useful, but WITHOUT ANY WARRANTY, either expressed or implied. While
every effort has been taken to ensure the accuracy of the information documented herein, the author / editor /
maintainer assumes NO RESPONSIBILITY for errors, or for damages results for the use of the information
documented herein.
This document describes how to enable file system quota on a Linux host, assigning quota for users and
groups, as well as the usage of miscellaneous quota commands. It is intended for users running kernel 2.x
(recently tested on kernel 2.4.21).
Feel free to send feedbacks or comments to r.vdooren@snow.nl if you find an error, or if any information is
missing. I appreciate it.
1. What is quota?
• 1.1 What is quota for?
• 1.2 Current Status of Quota on Linux
Quota mini−HOWTO 1
Quota mini−HOWTO
• 4.3 Assigning quota for a bunch of users with the same value
• 4.4 Soft Limit
• 4.5 Hard Limit
• 4.6 Grace Period
1. What is quota?
1.1 What is quota for?
Quota allows you to specify limits on two aspects of disk storage: the number of inodes a user or a group of
users may possess; and the number of disk blocks that may be allocated to a user or a group of users.
The idea behind quota is that users are forced to stay under their disk consumption limit, taking away their
ability to consume unlimited disk space on a system. Quota is handled on a per user, per file system basis. If
there is more than one file system which a user is expected to create files, then quota must be set for each file
system separately. Various tools are available for you to administer and automate quota policies on your
system.
cd /usr/src
tar jxvf /path/to/linux−2.4.21−tar.bz2 − for bzip2 kernel −
tar zxvf /path/to/linux−2.4.21−tar.gz − for gzip kernel −
ln −s /usr/src/linux−2.4.21 /usr/src/linux
ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/.
Choose your kernel version and download the patch(es). Patch your kernel with the 'patch' command. If there
is more than 1 patch for your kernel version, be sure to apply the patches in the correct order.
You can use this script ( I assume the downloaded patches are in /tmp/quota/ and the kernel has been untarred
to /usr/src/linux) :
#!/bin/sh
gunzip /tmp/quota/*.gz
cd /usr/src/linux
COUNT=`ls −1 /tmp/quota/*.diff | wc −l`
for I in `seq 1 $COUNT`
do
patch −p1 < /tmp/quota/quota−2.4.21−$I−*.diff
done
Via `make menuconfig` or `make xconfig` you can find the option to support quota under the
Filesystems−menu. You can specify extra options if you need them, like 32−bit UID support.
Save the configuration and compile the kernel. Make sure the new kernel will be used when rebooting the
system.
3.4 Modify your system init script to check quota and turn
quota on at boot time
Here's an example:
The golden rule is that always turn quota on after your file systems in /etc/fstab have been mounted, otherwise
quota will fail to work. I recommend turning quota on right after the part where file systems are mounted in
your system init script.
To enable user quota support on a file system, add "usrquota" to the fourth field containing the word
"defaults" (man fstab for details).
Replace "usrquota" with "grpquota", should you need group quota support on a file system.
Need both user quota and group quota support on a file system?
3.4 Modify your system init script to check quota and turn quota on at boot time 4
Quota mini−HOWTO
0 3 * * 0 /sbin/quotacheck −avug
"blocks in use" is the total number of blocks (in kilobytes) a user has consumed on a partition.
"inodes in use" is the total number of inodes a user has consumed on a partition.
assuming that you are using csh, and that you assign your user UID's starting with 500.
In addition to edquota, there are 3 terms which you should familiarize yourself with: Soft Limit, Hard Limit,
and Grace Period.
Change the 0 days part to any length of time you feel reasonable. I personally would choose 7 days (or 1
week).
5.2 Repquota
Repquota produces a summarized quota information for a file system. Here is a sample output repquota gives:
# repquota −a
Block limits File limits
User used soft hard grace used soft hard grace
root −− 175419 0 0 14679 0 0
bin −− 18000 0 0 735 0 0
uucp −− 729 0 0 23 0 0