IRCNow

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
openbsd:shell:quotas [2020/02/26 23:38]
pirata [Defining thresholds]
openbsd:shell:quotas [2020/03/07 19:56]
pirata
Line 1: Line 1:
 ====== Disk quotas ====== ====== Disk quotas ======
-Disk quotas are used to place limits on the amount of disk space available to certain users and groups. There are two types of quotas - soft and hard quotas.+Disk quotas are used to place limits on the amount of disk space available to certain users and groups. 
 +There are two types of quotas - soft and hard quotas.
  
-soft quota, once threshold is reached, warns the user and sets a grace period time so user can decrease ​his/​her ​disk usage below limits. After grace period is over, the soft limit is handled as a hard limit - does not allow any more disk allocation.+  - **soft quotas** - allows further disk allocation but, once threshold is reached, warns users and sets a grace period time so they can decrease ​their disk usage below limits. After the grace period is over, the soft limit is handled as a hard limit 
 +  - **hard quotas** ​- does not allow any more disk allocation ​once threshold is reached.
  
-Currently, IRCNow'​s shell limits disk usage to 5GB (soft) and 10GB (hard) ​per user.+Currently, IRCNow'​s shell limits disk usage to **8GB** ​(soft) and **11GB** ​(hard) ​and users have 1 week to decrease disk usage.
  
 ====== Setting up  ====== ====== Setting up  ======
-To enable quotas, We need to use the keywords **userquota** and/or **groupquota** ​to mark the desired filesystem ​in fstab(5) ​on which We want to enforce quotas. ​By default, files **quota.user** and **quota.group** will be created at the root of those filesystems.  +To enable quotas, We need to mark all the desired filesystems by adding ​the keywords **userquota** and/or **groupquota** in fstab(5) ​for each filesystem ​We want to be able to enforce quotas.
- +
-Example:+
  
 <code bash> <code bash>
Line 15: Line 15:
 </​code>​ </​code>​
  
-====== Defining ​thresholds  ​====== +====== Defining ​limits ​====== 
-Thresholds ​are measured in KB and +To set thresholds, We use edquota(8). Keep in mind that values ​are measured in KB (1000KB equals to 1MB).
  
-To set thresholds, We use edquota(8). +edquota(8) ​invokes vi(1) unless you specify other editor.
- +
-For an individual user:+
  
 <code bash> <code bash>
-$ edquota PiRATA+$ edquota ​[-u] PiRATA
 Quotas for user PiRATA: Quotas for user PiRATA:
 /home: KBytes in use: 62, limits (soft = 256000, hard = 512000) /home: KBytes in use: 62, limits (soft = 256000, hard = 512000)
         inodes in use: 25, limits (soft = 0, hard = 0)         inodes in use: 25, limits (soft = 0, hard = 0)
 +       
 +$ edquota -g staff
 +Quotas for group staff:
 +/home: KBytes in use: 62, limits (soft = 1000000, hard = 1500000)
 +        inodes in use: 25, limits (soft = 0, hard = 0)       
 </​code>​ </​code>​
  
-On the example ​above, PiRATA can use up to 512MB.+On the first above, PiRATA can use up to 512MB on his $HOME. On the latter, all staff users are limited to 15GB of disk space.
  
-For group, We need to invoke ​-option:+Now, what if you need to define ​certain threshold for 7 or 8 users or even 50? What would you do? Probably you would use edquota(8) for each user. 
 + 
 +Gladly, We don'​t ​need to - by invoking the **-p** ​option ​we can have the thresholds replicated:
  
 <code bash> <code bash>
-$ edquota -g staff +$ edquota -p PiRATA jrmu jimmy_will dennis
-Quotas for group staff: +
-/home: KBytes in use: 62, limits (soft = 1000000, hard = 1500000) +
-        inodes in use: 25, limits (soft = 0, hard = 0)+
 </​code>​ </​code>​
  
-In this caseall staff users will be able to use up to 15GB of disk space. +By invoking the **-t** optiongrate time can be defined:
-====== Enforcing ​ ======+
  
 +<code bash>
 +$ edquota -t search_social
 +Time units may be: days, hours, minutes, or seconds
 +Grace period before enforcing soft limits for users:
 +/home: block grace period: 7 days, file grace period: 7 days
 +</​code>​
 +====== Enabling/​Disabling quotas ​ ======
  
 +To turn on or off disk quotas, use quotaon(8) and/or quotaoff(8).
  
 +<code bash>
 +// Enables disk quotas on all filyesystems that have the user/​diskquota flag defined on fstab(5)
 +$ quotaon -a
  
 +// Disables disk quotas for user net_wayfarer
 +$ quotaoff -u net_wayfarer
 +</​code>​
 +
 +====== Displaying quota statistics ​  ​======
 +quota(1) outputs current disk usage and limits. By default, only the user quotas are printed but you can see group quotas by invoking **-g** ​ option.
 +
 +<code bash>$ quota jrmu
 +Disk quotas for user jrmu (uid 1012): ​
 +  Filesystem ​ KBytes ​   quota   ​limit ​  ​grace ​   files   ​quota ​  ​limit ​  grace
 +       /​home ​   3704  5000000 10000000 ​             58        0       ​0 ​       ​
 +</​code>​