Setting up disk quotas
You can add disk quotas for users, so a user can’t take up too much disk space.
Run all commands as root or with sudo.
Install the required package
quota package (in some systems, it may be called
Set up the filesystem
Then, set up the filesystem you want to enable quotas by editing
/etc/fstab file: add
usrjquota=aquota.user,jqfmt=vfsv1 in the options section of the filesystem. For example:
/dev/sda3 /home ext4 defaults,usrjquota=aquota.user,jqfmt=vfsv1 0 2
- This will allow user quotas, to allow group quotas, append
- Be careful when editing
/etc/fstab, you can make the filesystem unmountable.
Remount the filesystem, or reboot the system if it is the main filesystem.
Create a quota index for the filesystem:
quotacheck -cum <filesystem> # quotacheck -cum /
-gparameter to create a group index.
Finally, enable disk quotas for the filesystem
quotaon -v <filesystem> # quotaon -v /
- You can disable quotas with
Create a user quota
Specify a quota for a user:
edquota <username> # edquota ricardo
- It will open your default text editor, and you will be able to edit the quotas.
Disk quotas for user ricardo (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/vda1 863500 0 0 1840 0 0
blocks: number of 1k blocks currently used by the user.
soft: max number of 1k blocks allowed before a warning is issued.
hard: max number of 1k blocks the user can use.
inodes: number of inodes currently used by the user.
hard: same as before, but with inodes.
Once edited, save the file and close it.
You can add a “grace period” to give users a time to reduce their storage. This applies where storage is above the soft limit but below the hard limit. Type
edquota -t and edit the file.
quota -u <username> to check user quotas.