NetBSD/usr.sbin/edquota/edquota.8

201 lines
6.1 KiB
Groff

.\" Copyright (c) 1983, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Robert Elz at The University of Melbourne.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)edquota.8 8.2 (Berkeley) 4/27/95
.\" $NetBSD: edquota.8,v 1.17 2022/04/08 10:17:55 andvar Exp $
.\"
.Dd January 29, 2012
.Dt EDQUOTA 8
.Os
.Sh NAME
.Nm edquota
.Nd edit user quotas
.Sh SYNOPSIS
.Nm
.Op Fl Hu
.Op Fl f Ar file-system
.Op Fl p Ar proto-username
.Ar -d |
.Ar username ...
.Nm
.Op Fl H
.Fl g
.Op Fl f Ar file-system
.Op Fl p Ar proto-groupname
.Ar -d |
.Ar groupname ...
.Nm
.Op Fl Hu
.Op Fl f Ar file-system
.Op Fl h Ar block#/inode#
.Op Fl s Ar block#/inode#
.Op Fl t Ar block grace time/inode grace time
.Ar -d |
.Ar username ...
.Nm
.Op Fl H
.Fl g
.Op Fl f Ar file-system
.Op Fl h Ar block#/inode#
.Op Fl s Ar block#/inode#
.Op Fl t Ar block grace time/inode grace time
.Ar -d |
.Ar groupname ...
.Nm
.Op Fl Hu
.Fl c
.Op Fl f Ar file-system
.Ar username ...
.Nm
.Op Fl H
.Fl g
.Fl c
.Op Fl f Ar file-system
.Ar groupname ...
.Sh DESCRIPTION
.Nm
is a quota editor.
By default, or if the
.Fl u
flag is specified,
one or more users may be specified on the command line.
Unless
.Fl h ,
.Fl s ,
or
.Fl t
are used, a temporary file is created for each user with an ASCII
representation of the current disk quotas and grace time for that user.
By default, quota for all quota-enabled file systems are edited; the
.Fl f
option can be used to restrict it to a single file system.
An editor is invoked on the ASCII file.
The editor invoked is
.Xr vi 1
unless the environment variable
.Ev EDITOR
specifies otherwise.
.Pp
The quotas may then be modified, new quotas added, etc.
Setting a quota to \- or unlimited indicates that no quota should be imposed.
Setting a quota to zero indicates that no allocation is permitted.
Setting a soft limit to zero with a unlimited hard limit
indicates that allocations should be permitted on only a temporary basis.
The current usage information in the file is for informational purposes;
only the hard and soft limits, and grace time can be changed.
.Pp
Users are permitted to exceed their soft limits
for a grace period that may be specified per user (or per-file system
for quota version 1).
Once the grace period has expired,
the soft limit is enforced as a hard limit.
The default grace period is one week.
.Pp
By default, disk quotas are in KB, grace time in seconds.
Disk and inodes quota can be entered with a
.Xr humanize_number 9
suffix (K for kilo, M for mega, G for giga, T for tera).
Time can be entered with Y (year), W (week), D (day), H (hour) and M (minute)
suffixes.
Suffixes can be mixed (see
.Sx EXAMPLES
below).
If the
.Fl H
option if used, current quota, disk usage and time are displayed in
a human-readable format.
.Pp
On leaving the editor,
.Nm
reads the temporary file and modifies the on-disk quotas
to reflect the changes made.
.Pp
If the
.Fl p
flag is specified,
.Nm
will duplicate the quotas of the prototypical user
specified for each user specified.
.Pp
The
.Fl h ,
.Fl s ,
and
.Fl t
flags can be used to change quota limits (hard, soft and grace time,
respectively) without user interaction, for usage in e.g. batch scripts.
The arguments are the new block and inode number limit or grace time,
separated by a slash.
Units suffix may be used, as in the editor above.
.Pp
If the
.Fl g
flag is specified,
.Nm
is invoked to edit the quotas of
one or more groups specified on the command line.
.Pp
With quota version 2, there is a per-file system user or group
default quota to be copied to a user or group quota on the first
allocation.
The
.Fl d
flag adds the default quota to the list of users or groups to edit.
.Pp
For quota version 1, there is no default block/inode quota, and no
per-user/group grace time.
To edit the file system-wide grace time, use
.Fl d .
.Pp
On quota2-enabled file systems, the
.Fl c
flag cause edquota to clear quota entries for the specified users or groups.
If disk or inode usages is not 0, limits are reverted to the default quota.
If disk and inode usages are 0, the existing quota entries are freed.
.Pp
Only the super-user may edit quotas.
.Sh EXAMPLES
Edit quotas for group games on all quota-enabled file systems:
.Dl edquota -g
Set 4MB hard block limit, 2MB soft block limit, 2048 inode hard limit,
1024 inode soft limit, 2 weeks and 3 days (or 17 days) block and inode grace
time for the default quotas on file system
.Pa /home :
.Dl edquota -h 4M/2k -s 2M/1k -t 2W3D/2W3D -f /home -u -d
.Sh SEE ALSO
.Xr quota 1 ,
.Xr humanize_number 3 ,
.Xr libquota 3 ,
.Xr fstab 5 ,
.Xr quotacheck 8 ,
.Xr quotaon 8 ,
.Xr quotarestore 8 ,
.Xr repquota 8