Quotas are defined per-filesystem. Most distros support quotas, although not all do it out-of-the-box, and you may have to install the quota package. To enable quota support, edit /etc/fstab as root and add the usrquota and grpquota options to the filesystems you wish to enable quota support for. For instance:
/dev/hda3 /home ext3 defaults,nosuid,nodev,usrquota,grpquota 1 2
Once you have made the changes, remount the filesystem(s) you have changed:
# mount -o remount /home
To check that quota support is indeed enabled, execute:
# quotacheck -augmv
This will instruct quotacheck to check all filesystems for user and group quotas without remounting them as read-only. Now you can enable quotas with the quotaon command:
# quotaon -augv
Once quotas have been turned on, use edquota to edit the quotas for a particular user:
# edquota -u nikesh
This will open the default system editor (usually vim) where you can edit the hard and soft limits for both blocks and inodes for each filesystem that supports quotas.
You can then view current quota usage by using the repquota tool:
# repquota -a
Once a soft quota has been exceeded, the user is notified once that they have exceeded their quota, but will be able to continue writing to the system unless they reach the hard quota; at which point, any new files created will be 0 bytes in size.