System Administration Guide

Setting Up Quotas

You can set up quotas to limit the amount of disk space and number of inodes (roughly equivalent to the number of files) available to users. These quotas are activated automatically each time a file system is mounted. This section describes how to configure file systems for quotas, and how to set up and activate quotas.

Setting up quotas involves these general steps:

  1. A series of commands prepares a file system to accept quotas, ensuring that quotas will be enforced each time the system is rebooted and the file system is mounted. Entries must be added to the /etc/vfstab file, and a quotas file must be created in the top-level directory of the file system.

  2. After a quota is created for one user, it can be copied as a prototype to set up other user quotas.

  3. Before quotas are actually turned on, another command checks for consistency by comparing the proposed quotas with the current disk usage to make sure that there are no conflicts.

  4. Finally, a command turns the quotas on for one or more entire file systems.

These steps ensure that quotas are automatically activated on a file system each time it is mounted. For specific information about these procedures, see "Setting Up Quotas Task Map"

Table 58-1 describes the commands you use to set up disk quotas.

Table 58-1 Commands for Setting Up Quotas

Command 

Enables You To ... 

edquota(1M)

Set the hard and soft limits on the number of inodes and disk space for each user.  

quotacheck(1M)

Examine each mounted UFS file system, comparing against information stored in the file system's disk quota file, and resolve inconsistencies. 

quotaon(1M)

Activate the quotas for the specified file systems. 

quota(1M)

Display user's quotas on mounted file systems to verify that quotas have been correctly set up.  

Guidelines for Setting Up Quotas

Before you set up quotas, you need to determine how much space and how many inodes to allocate to each user. If you want to be sure the total file system space is never exceeded, you can divide the total size of the file system between the number of users. For example, if three users share a 100-Mbyte slice and have equal disk space needs, you could allocate 33 Mbytes to each. In environments where not all users are likely to push their limits, you may want to set individual quotas so that they add up to more than the total size of the file system. For example, if three users share a 100-Mbyte slice, you could allocate 40 Mbytes to each.

When you have established a quota for one user by using the edquota command, you can use this quota as a prototype to set the same quota for other users on the same file system.

After you have configured UFS file systems for quotas and established quotas for each user, run the quotacheck command to check consistency between current disk usage and quota files before you actually turn quotas on. Also, if systems are rebooted infrequently, it is a good idea to periodically run quotacheck.

The quotas you set up with edquota are not enforced until you turn them on by using the quotaon command. If you have properly configured the quota files, quotas will be turned on automatically each time a system is rebooted and the file system is mounted.

Setting Up Quotas Task Map

Table 58-2 Task Map: Setting Up Quotas
 

Task 

 

Description 

 

For Instructions, Go To 

 

Configure a File System for Quotas  

 

Edit /etc/vfstab so that quotas are activated each time the file system is mounted, and create a quotas file.

 

"How to Configure File Systems for Quotas"

 
        
 

Set Up Quotas for a User  

 

Use the edquota command to create disk and inode quotas for a single user account.

 

"How to Set Up Quotas for a User"

 
          
 

Set Up Quotas for Multiple Users  

 

Optional. Use edquota to apply prototype quotas to other user accounts.

 

"How to Set Up Quotas for Multiple Users"

 
          
 

Check for Consistency  

 

Use the quotacheck command to compare quotas to current disk usage for consistency on one or more file systems.

 

"How to Check Quota Consistency"

 
          
 

Turn Quotas On 

 

Use the quotaon command to initate quotas on one or more file systems.

 

"How to Turn Quotas On"

 
   

How to Configure File Systems for Quotas

  1. Become superuser.

  2. Edit the /etc/vfstab file by using the editor of your choice. Add rq to the mount options field for each UFS file system that will have quotas.

  3. Exit the file, saving the changes.

  4. Change directory to the top of the file system that will have quotas.

  5. Create a file named quotas.


    # touch quotas
    
  6. Change permissions to read/write for root only.


    # chmod 600 quotas
    

Examples--Configuring File Systems for Quotas

The following example from /etc/vfstab shows that the /export/home directory from the system pluto is mounted as an NFS file system on the local system with quotas enabled.


#device          device   mount       FS    fsck   mount   mount
#to mount         to fsck  point       type  pass   at boot options
#
pluto:/export/home -       /export/home nfs    -     yes    rq

The following example line from /etc/vfstab shows that the local (UFS)/work directory is mounted with quotas enabled.


#device          device            mount  FS   fsck mount   mount
#to mount         to fsck           point  type pass at boot options
#
 
/dev/dsk/c0t4d0s0 /dev/rdsk/c0t4d0s0 /work ufs  3    yes     rq

How to Set Up Quotas for a User

  1. Become superuser.

  2. Use the quota editor to create a temporary file containing one line of quota information for each mounted UFS file system that has a quotas file in its top-level directory.


    # edquota username
    

    username

    User for whom you want to set up quotas. 

  3. Change the number of 1-Kbyte disk blocks, both soft and hard, and the number of inodes, both soft and hard, from 0 (the default) to the quotas you specify for each file system.

  4. Exit the editor, saving your changes.

  5. Verify the user's quota by using the quota command.


    # quota -v username
    

    -v

    Display's user's quota information on all mounted file systems where quotas exist. 

    username

    Specifies user name to view quota limits. 

Examples--Setting Up Quotas for a User

The following example shows the contents of the temporary file opened by edquota on a system where /files is the only mounted file system containing a quotas file in its top-level directory.


fs /files blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

The following example shows the same line in the temporary file after quotas have been set up.


fs /files blocks (soft = 50, hard = 60) inodes (soft = 90, hard = 100)
 

How to Set Up Quotas for Multiple Users

  1. Become superuser.

  2. Use the quota editor to apply the quotas you already established for a prototype user to the additional users you specify.


    # edquota -p prototype-user username ...
    

    prototype-user

    User name of the account for which you have set up quotas. 

    username ..

    Specifies one or more user names of additional accounts. 

Example--Setting Up Prototype Quotas for Multiple Users

The following example applies the quotas established for user bob to users mary and john.


# edquota -p bob mary john

How to Check Quota Consistency


Note -

To ensure accurate disk data, the file systems being checked should be quiescent when you run the quotacheck command manually. The quotacheck command is run automatically when a system is rebooted.


  1. Become superuser.

  2. Run a consistency check on UFS file systems. See the quotacheck.


    # quotacheck [ -v ] -a | filesystem 
    

    -v

    (Optional) Identifies the disk quotas for each user on a particular file system.  

    -a

    Checks all file systems with an rq entry in the /etc/vfstab file.

    filesystem

    Specifies a file system to check. 

Example--Checking Quota Consistency

The following example checks quotas for the /export/home file system on the /dev/rdsk/c0t0d0s7 slice. The /export/home file system is the only file system with an rq entry in the /etc/vfstab file.


# quotacheck -va
*** Checking quotas for /dev/rdsk/c0t0d0s7 (/export/home)

How to Turn Quotas On

  1. Become superuser.

  2. Turn file system quotas on by using the quotaon command.


    # quotaon [-v] -a | ffilesystem ...]

    -v

    (Optional) Verbose option. 

    -a

    Turns quotas on for all file systems with an rq entry in the /etc/vfstab file.

    filesystem ...

    Turns quotas on for one or more file systems that you specify. 

Example--Turning Quotas On

The following example turns quotas on for the file systems on the /dev/dsk/c0t4d0s2 and /dev/dsk/c0t3d0s2 slices.


# quotaon -v /dev/dsk/c0t4d0s2 /dev/dsk/c0t3d0s2
/dev/dsk/c0t4d0s2: quotas turned on
/dev/dsk/c0t3d0s2: quotas turned on