mirror of https://github.com/tLDP/LDP
updated
This commit is contained in:
parent
e774aa47f7
commit
97d3bbd76e
|
@ -266,7 +266,7 @@ Quota</ULink>, <CiteTitle>
|
|||
Quota mini-HOWTO</CiteTitle>
|
||||
</Para><Para>
|
||||
<CiteTitle>
|
||||
Updated: April 2002</CiteTitle>.
|
||||
Updated: August 2003</CiteTitle>.
|
||||
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. </Para>
|
||||
|
|
|
@ -3699,7 +3699,7 @@ on an Intel Linux system. </Para>
|
|||
Quota</ULink>,
|
||||
<CiteTitle>Quota mini-HOWTO</CiteTitle>
|
||||
</Para><Para>
|
||||
<CiteTitle>Updated: April 2002</CiteTitle>.
|
||||
<CiteTitle>Updated: August 2003</CiteTitle>.
|
||||
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. </Para>
|
||||
|
|
|
@ -1,276 +1,303 @@
|
|||
<!doctype linuxdoc system>
|
||||
|
||||
<article>
|
||||
|
||||
<title>Quota mini-HOWTO
|
||||
<author>Ralf van Dooren <tt/r.vdooren@snow.nl/
|
||||
<date>v0.3, April 2002
|
||||
<abstract>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.
|
||||
<p>
|
||||
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.
|
||||
<p>
|
||||
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.17).
|
||||
<p>
|
||||
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.
|
||||
</abstract>
|
||||
<sect>What is Quota?
|
||||
<p>
|
||||
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.
|
||||
<p>
|
||||
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.
|
||||
<sect>Current Status of Quota on Linux
|
||||
<p>
|
||||
|
||||
Currently, there are some major changes in the way quota works. There are two
|
||||
different setups. The tools works the same, but there's a difference in used files. This
|
||||
document describes the setup and operation of the _new_ quota setup. As the new setup
|
||||
of quota is not in the regular kernel source, this setup needs some patching. We will describe this
|
||||
patching and installation of the linuxquota package. If you already have the quota software installed
|
||||
on your system, you may or may not have to install this patch and package. You can email me if
|
||||
you have any questions about this. I'll try to include a overview of Linux distro's and it's implications
|
||||
in a later version of this document.
|
||||
|
||||
<sect>Requirements for Using Quota on Linux
|
||||
<p>
|
||||
<sect1>Kernel
|
||||
<p>
|
||||
|
||||
The 2.x kernel source is available from
|
||||
<code>http://www.kernel.org
|
||||
</code>. Please use an available mirror close to your location to save bandwidth.
|
||||
<sect1>Quota software
|
||||
<p>
|
||||
|
||||
Depending on the Linux distribution you have, you may, or may not have
|
||||
the quota softwares installed on your system. The most recent version of quota
|
||||
is available through SourceForge and is in active development. You can reach the
|
||||
homepage of the quota-development at
|
||||
|
||||
<code>http://www.sourceforge.net/projects/linuxquota
|
||||
</code>
|
||||
<p>
|
||||
<sect>Quota Setup on Linux - Part I: The Configuration
|
||||
<p>
|
||||
<sect1>Patch the kernel
|
||||
|
||||
<p>Download the patch for your kernel at:
|
||||
|
||||
<code>
|
||||
ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/
|
||||
</code>
|
||||
<p>
|
||||
Choose your kernel version and download the patch. Patch your kernel with the 'patch' command.
|
||||
|
||||
<sect1>Reconfigure your kernel
|
||||
<p>
|
||||
|
||||
Reconfigure your kernel and add quota support by typing y to:
|
||||
<code>Quota support (CONFIG_QUOTA) [n] y
|
||||
</code>
|
||||
|
||||
<p>Via `make menuconfig` of `make xconfig` you can find the option to support quota
|
||||
under the Filesystems-menu.
|
||||
|
||||
Make sure the new kernel will be used when rebooting the system.
|
||||
|
||||
<sect1>Compile and install the quota softwares
|
||||
<p>
|
||||
If the quota package is already in your Linux distribution, you don't have to install the quota
|
||||
software. If the quota package is not available in your Linux distribution, or if you wan't to
|
||||
install the most recent version, you can download the latest version of the quota software source from
|
||||
the location mentioned above.
|
||||
<p>
|
||||
When downloaded do:
|
||||
<code>$ gzip -dc <downloaded file> | tar xvf
|
||||
$ cd quota-tools (or whatever directory the software is put in)
|
||||
$ ./configure
|
||||
$ make
|
||||
$ su
|
||||
# make install
|
||||
|
||||
</code>
|
||||
|
||||
<sect1>Modify your system init script to check quota and turn quota on at boot
|
||||
time
|
||||
<p>
|
||||
|
||||
Here's an example:
|
||||
<code># Check quota and then turn quota on.
|
||||
if [ -x /usr/sbin/quotacheck ]
|
||||
then
|
||||
echo "Checking quotas. This may take some time."
|
||||
/usr/sbin/quotacheck -avug
|
||||
echo " Done."
|
||||
fi
|
||||
if [ -x /usr/sbin/quotaon ]
|
||||
then
|
||||
echo "Turning on quota."
|
||||
/usr/sbin/quotaon -avug
|
||||
fi
|
||||
</code>
|
||||
|
||||
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.
|
||||
|
||||
<sect1>Modify /etc/fstab
|
||||
<p>
|
||||
|
||||
Partitions that you have not yet enabled quota normally look something
|
||||
like:
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults 1 1
|
||||
</code>
|
||||
|
||||
To enable user quota support on a file system, add "usrquota" to the fourth
|
||||
field containing the word "defaults" (man fstab for details).
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults,usrquota 1 1
|
||||
</code>
|
||||
|
||||
Replace "usrquota" with "grpquota", should you need group quota support
|
||||
on a file system.
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults,grpquota 1 1
|
||||
</code>
|
||||
|
||||
Need both user quota and group quota support on a file system?
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1
|
||||
</code>
|
||||
|
||||
<sect1>Activate the quota system
|
||||
<p>
|
||||
To activate the quota software you have to reboot the system for the changes you have made
|
||||
to take effect. The new kernel with quota support will be loaded and the startup scripts you've
|
||||
just created will be executed. At first run, quotacheck will generate the appropiate files to maintain
|
||||
the quota databases.
|
||||
|
||||
<sec1>Add quotacheck to crontab
|
||||
|
||||
<p>
|
||||
Although quota should work with periodical checks, it sometimes helps to run quotacheck periodically, e.g. weekly. Add the following line to your root's crontab:
|
||||
<code>0 3 * * 0 /sbin/quotacheck -avug
|
||||
</code>
|
||||
|
||||
<sect>Quota Setup on Linux - Part II: Assigning Quota for Users and Groups
|
||||
<p>
|
||||
|
||||
This operation is performed with the edquota command (`man edquota` for details).
|
||||
|
||||
<sect1>Assigning quota for a particular user
|
||||
<p>
|
||||
|
||||
Here's an example. I have a user with the login id bob on my system. The
|
||||
command "edquota -u bob" takes me into vi (or editor specified in my $EDITOR
|
||||
environment variable) to edit quota for user bob on each partition that has
|
||||
quota enabled:
|
||||
<code>Quotas for user bob:
|
||||
/dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500)
|
||||
inodes in use: 356, limits (soft = 1000, hard = 1500)
|
||||
</code>
|
||||
|
||||
"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.
|
||||
<sect1>Assigning quota for a particular group
|
||||
<p>
|
||||
|
||||
Now I have a group games on my system. "edquota -g games" takes me into
|
||||
the vi editor again to edit quota for the group games:
|
||||
<code> Quotas for group games:
|
||||
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
|
||||
inodes in use: 1454, limits (soft = 3000, hard = 4000)
|
||||
</code>
|
||||
<sect1>Assigning quota for a bunch of users with the same value
|
||||
<p>
|
||||
|
||||
To rapidly set quotas for, say 100 users, on my system to the same value
|
||||
as my user bob, I would first edit bob's quota information by hand, then execute:
|
||||
<code>edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
|
||||
</code>
|
||||
|
||||
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.
|
||||
<sect1>Soft Limit
|
||||
<p>
|
||||
|
||||
_Soft limit_ indicates the maximum amount of disk usage a quota user has
|
||||
on a partition. When combined with grace period, it acts as the border line,
|
||||
which a quota user is issued warnings about his impending quota violation when
|
||||
passed.
|
||||
<sect1>Hard Limit
|
||||
<p>
|
||||
|
||||
Hard limit works only when grace period is set. It specifies the absolute
|
||||
limit on the disk usage, which a quota user can't go beyond his hard limit.
|
||||
<sect1>Grace Period
|
||||
<p>
|
||||
|
||||
Executed with the command "edquota -t", grace period is a time limit before
|
||||
the soft limit is enforced for a file system with quota enabled. Time units
|
||||
of sec(onds), min(utes), hour(s), day(s), week(s), and month(s) can be used.
|
||||
This is what you'll see with the command "edquota -t":
|
||||
<code>Time units may be: days, hours, minutes, or seconds
|
||||
Grace period before enforcing soft limits for users:
|
||||
/dev/hda2: block grace period: 0 days, file grace period: 0 days
|
||||
</code>
|
||||
|
||||
Change the 0 days part to any length of time you feel reasonable. I personally
|
||||
would choose 7 days (or 1 week).
|
||||
<sect>Miscellaneous Quota Commands
|
||||
<p>
|
||||
<sect1>Quotacheck
|
||||
<p>
|
||||
|
||||
Quotacheck is used to scan a file system for disk usages, and updates the
|
||||
quota record file "aquota.user" to the most recent state. I recommend running
|
||||
quotacheck at system bootup, and via cronjob periodically (say, every week?).
|
||||
<sect1>Repquota
|
||||
<p>
|
||||
|
||||
Repquota produces a summarized quota information for a file system. Here
|
||||
is a sample output repquota gives:
|
||||
<code># 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
|
||||
man -- 57 0 0 10 0 0
|
||||
user1 -- 13046 15360 19200 806 1500 2250
|
||||
user2 -- 2838 5120 6400 377 1000 1500
|
||||
</code>
|
||||
<sect1>Quotaon and Quotaoff
|
||||
<p>
|
||||
|
||||
Quotaon is used to turn on quota accounting; quotaoff to turn it off. Actually
|
||||
both files are similar. They are executed at system startup and shutdown.
|
||||
|
||||
</article>
|
||||
|
||||
<!doctype linuxdoc system>
|
||||
|
||||
<article>
|
||||
|
||||
<title>Quota mini-HOWTO
|
||||
|
||||
<author>Ralf van Dooren <tt/r.vdooren@snow.nl/
|
||||
|
||||
<date>v0.5, 2003-08-09
|
||||
<abstract>
|
||||
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.
|
||||
<p>
|
||||
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).
|
||||
<p>
|
||||
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.
|
||||
</abstract>
|
||||
|
||||
<sect>What is quota?
|
||||
|
||||
<sect1>What is quota for?
|
||||
|
||||
<p>
|
||||
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.
|
||||
<p>
|
||||
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.
|
||||
|
||||
<sect1>Current Status of Quota on Linux
|
||||
<p>
|
||||
|
||||
Currently, there are some major changes in the way quota works. There are two
|
||||
different setups. The tools works the same, but there's a difference in used files. This
|
||||
document describes the setup and operation of the _new_ quota setup. As the new setup
|
||||
of quota is not in the regular kernel source, this setup needs some patching. We will describe this
|
||||
patching and installation of the linuxquota package. If you already have the quota software installed
|
||||
on your system, you may or may not have to install this patch and package. You can email me if
|
||||
you have any questions about this. I'll try to include a overview of Linux distro's and it's implications
|
||||
in a later version of this document.
|
||||
|
||||
<sect>Requirements for quota
|
||||
<p>
|
||||
<sect1>Kernel
|
||||
<p>
|
||||
|
||||
The 2.x kernel source is available from <url
|
||||
url="http://www.kernel.org/" name="http://www.kernel.org">
|
||||
Please use an available mirror close to your location to save bandwidth. If
|
||||
you have a recent version of tar, you can download the .bz2 compressed file.
|
||||
|
||||
Untar the kernel:
|
||||
<code>
|
||||
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
|
||||
</code>
|
||||
|
||||
<sect1>Quota software
|
||||
<p>
|
||||
|
||||
Depending on the Linux distribution you have, you may, or may not have
|
||||
the quota softwares installed on your system. The most recent version of quota
|
||||
is available through SourceForge and is in active development. You can reach the
|
||||
homepage of the quota-development at <url
|
||||
url="http://www.sourceforge.net/project/linuxquota"
|
||||
name="http://www.sourceforge.net/projects/linuxquota" >.
|
||||
|
||||
<sect>Quota setup: installation and configuration
|
||||
|
||||
<sect1>Patch the kernel
|
||||
|
||||
<p>Download the patch for your kernel at:
|
||||
|
||||
<url url="ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/"
|
||||
name="ftp::/atrey.karlin.mff.cuni.cz/pub/local/jack/quota/" >.
|
||||
|
||||
<p>
|
||||
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) :
|
||||
|
||||
<code>
|
||||
#!/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
|
||||
</code>
|
||||
|
||||
<sect1>Reconfigure your kernel
|
||||
<p>
|
||||
|
||||
Reconfigure your kernel and add quota support.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>Save the configuration and compile the kernel. Make sure the new kernel will be used when rebooting the system.
|
||||
|
||||
<sect1>Compile and install the quota softwares
|
||||
<p>
|
||||
To be able to use all the features of the new quota system, you'll probably need to download the new quota-package. Download the new quota software via the URL
|
||||
provided above.
|
||||
<p>
|
||||
When downloaded do:
|
||||
<code>$ gzip -dc <downloaded file> | tar xvf
|
||||
$ cd quota-tools (or whatever directory the software is put in)
|
||||
$ ./configure
|
||||
$ make
|
||||
$ su
|
||||
# make install
|
||||
|
||||
</code>
|
||||
|
||||
<sect1>Modify your system init script to check quota and turn quota on at boot
|
||||
time
|
||||
<p>
|
||||
|
||||
Here's an example:
|
||||
<code># Check quota and then turn quota on.
|
||||
if [ -x /usr/sbin/quotacheck ]
|
||||
then
|
||||
echo "Checking quotas. This may take some time."
|
||||
/usr/sbin/quotacheck -avug
|
||||
echo " Done."
|
||||
fi
|
||||
if [ -x /usr/sbin/quotaon ]
|
||||
then
|
||||
echo "Turning on quota."
|
||||
/usr/sbin/quotaon -avug
|
||||
fi
|
||||
</code>
|
||||
|
||||
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.
|
||||
|
||||
<sect1>Modify /etc/fstab
|
||||
<p>
|
||||
|
||||
Partitions that you have not yet enabled quota normally look something
|
||||
like:
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults 1 1
|
||||
</code>
|
||||
|
||||
To enable user quota support on a file system, add "usrquota" to the fourth
|
||||
field containing the word "defaults" (man fstab for details).
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults,usrquota 1 1
|
||||
</code>
|
||||
|
||||
Replace "usrquota" with "grpquota", should you need group quota support
|
||||
on a file system.
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults,grpquota 1 1
|
||||
</code>
|
||||
|
||||
Need both user quota and group quota support on a file system?
|
||||
<code>/dev/hda1 / ext2 defaults 1 1
|
||||
/dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1
|
||||
</code>
|
||||
|
||||
<sect1>Activate the quota system
|
||||
<p>
|
||||
To activate the quota software you have to reboot the system for the changes you have made
|
||||
to take effect. The new kernel with quota support will be loaded and the startup scripts you've
|
||||
just created will be executed. At first run, quotacheck will generate the appropiate files to maintain
|
||||
the quota databases.
|
||||
|
||||
<sect1>Add quotacheck to crontab
|
||||
|
||||
<p>
|
||||
Although quota should work with periodical checks, it sometimes helps to run quotacheck periodically, e.g. weekly. Add the following line to your root's crontab:
|
||||
<code>0 3 * * 0 /sbin/quotacheck -avug
|
||||
</code>
|
||||
|
||||
<sect>Quota setup: tools
|
||||
<p>
|
||||
|
||||
This operation is performed with the edquota command (`man edquota` for details).
|
||||
|
||||
<sect1>Assigning quota for a particular user
|
||||
<p>
|
||||
|
||||
Here's an example. I have a user with the login id bob on my system. The
|
||||
command "edquota -u bob" takes me into vi (or editor specified in my $EDITOR
|
||||
environment variable) to edit quota for user bob on each partition that has
|
||||
quota enabled:
|
||||
<code>Quotas for user bob:
|
||||
/dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500)
|
||||
inodes in use: 356, limits (soft = 1000, hard = 1500)
|
||||
</code>
|
||||
|
||||
"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.
|
||||
<sect1>Assigning quota for a particular group
|
||||
<p>
|
||||
|
||||
Now I have a group games on my system. "edquota -g games" takes me into
|
||||
the vi editor again to edit quota for the group games:
|
||||
<code> Quotas for group games:
|
||||
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
|
||||
inodes in use: 1454, limits (soft = 3000, hard = 4000)
|
||||
</code>
|
||||
<sect1>Assigning quota for a bunch of users with the same value
|
||||
<p>
|
||||
|
||||
To rapidly set quotas for, say 100 users, on my system to the same value
|
||||
as my user bob, I would first edit bob's quota information by hand, then execute:
|
||||
<code>edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
|
||||
</code>
|
||||
|
||||
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.
|
||||
<sect1>Soft Limit
|
||||
<p>
|
||||
|
||||
_Soft limit_ indicates the maximum amount of disk usage a quota user has
|
||||
on a partition. When combined with grace period, it acts as the border line,
|
||||
which a quota user is issued warnings about his impending quota violation when
|
||||
passed.
|
||||
<sect1>Hard Limit
|
||||
<p>
|
||||
|
||||
Hard limit works only when grace period is set. It specifies the absolute
|
||||
limit on the disk usage, which a quota user can't go beyond his hard limit.
|
||||
<sect1>Grace Period
|
||||
<p>
|
||||
|
||||
Executed with the command "edquota -t", grace period is a time limit before
|
||||
the soft limit is enforced for a file system with quota enabled. Time units
|
||||
of sec(onds), min(utes), hour(s), day(s), week(s), and month(s) can be used.
|
||||
This is what you'll see with the command "edquota -t":
|
||||
<code>Time units may be: days, hours, minutes, or seconds
|
||||
Grace period before enforcing soft limits for users:
|
||||
/dev/hda2: block grace period: 0 days, file grace period: 0 days
|
||||
</code>
|
||||
|
||||
Change the 0 days part to any length of time you feel reasonable. I personally
|
||||
would choose 7 days (or 1 week).
|
||||
<sect>Miscellaneous Quota Commands
|
||||
<p>
|
||||
<sect1>Quotacheck
|
||||
<p>
|
||||
|
||||
Quotacheck is used to scan a file system for disk usages, and updates the
|
||||
quota record file "aquota.user" to the most recent state. I recommend running
|
||||
quotacheck at system bootup, and via cronjob periodically (say, every week?).
|
||||
<sect1>Repquota
|
||||
<p>
|
||||
|
||||
Repquota produces a summarized quota information for a file system. Here
|
||||
is a sample output repquota gives:
|
||||
<code># 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
|
||||
man -- 57 0 0 10 0 0
|
||||
user1 -- 13046 15360 19200 806 1500 2250
|
||||
user2 -- 2838 5120 6400 377 1000 1500
|
||||
</code>
|
||||
<sect1>Quotaon and Quotaoff
|
||||
<p>
|
||||
|
||||
Quotaon is used to turn on quota accounting; quotaoff to turn it off. Actually
|
||||
both files are similar. They are executed at system startup and shutdown.
|
||||
|
||||
</article>
|
||||
|
||||
|
|
Loading…
Reference in New Issue