الـحصة أو ما يُعرف بإسم الـ quota، أعتقد أنه لا غنى عنها لأى مدير نظام،  فماذا تعنى وكيف يمكننى أن أستخدمها ؟ أولاً الحصة أو الـ quota هى عبارة  عن قيود أقوم بوضعها على مُستخدم معين أو حتى مجموعة كاملة، لذلك الـ quota  يمكن تطبيقها على كلاً من الـمستخدمين الفرديين، أو المجموعات أيضًا،  فأحيانًا نود تحديد مساحة معينه لمستخدم معين لا يمكنه تجوازها نهائيًا، أو  فرض قيد معين على مجموعه معينه، لذلك نلجأ إلى إستخدام ما يُعرف بإسم الـ  quota.
 أولاً :: تثبيت حزمة الـ RPM quota على النظام وللتأكد من تثبيتها بشكل صحيح   
	كود:
	rpm -qa | grep quota
 
 ثانيًا :: التعديل على ملف fstab  
يجب التعديل على ذلك الملف حتى يمكننا استخدام الـ quota على  ملف نظام معين، والتعديل يكون بأحد الطريقتين، إما اضافة  
usrquota : وبالتالى قد أخبرنا النظام بذلك الخيار أننا سوف نقوم بتطبيق الحصص على المستخدمين فقط 
grpquota : هنا أخبرنا اللنظام أننا سوف نقوم بتطبيق الحصص على المجموعات فقط على ملف النظام ذلك.
وبالطبع يمكن اختيار الخيارين معًا، لنعبر بذلك على استخدام الـ quotas على  كلاً من المستخدمين والمجموعات، وتتم إضافة تلك الخيارات فى العمود الخاص  بخيارات الـ mount، ويكون شكل السطر بعد التعديد هكذا 
	كود:
	/dev/sdc1               /opt/company_data       ext4    defaults,usrquota,grpquota      1 2
 
 ثالثًا :: إعادة عمل mount لذلك الملف هكذا  
	كود:
	mount -o remount /mnt/exmple
 
 حيث الـ /mnt/example هو الـ mount point الخاصة بملف النظام خاصتى.  
 رابعًا :: إنشاء الملفات اللازمة للتعامل مع الـ quotas 
وهما ملف 
 aquota.user   : والذى يمكننا من التحكم فى الحصص الخاصة بالمستخدمين الفرديين 
aquota.group : والذى يمكننا من التحكم فى الحصص الخاصة بالمجموعات 
ولعمل ذلك وإنشاء ذلك الملفين (وبالطبع هذا لو كنا قد حددنا فى ملف /etc/fstab الخيارين usrquota و grpquota) نقوم بكتابة الآتى 
	كود:
	quotacheck -ugm /mnt/example
 
 وللتأكد من أن الملفين قد تم إنشائهما نقوم بكتابة الآتى، وتكون النتيجة كما هو مُوضح   
	كود:
	-rw-------. 1 root root  6144 Sep 18 17:07 aquota.group
-rw-------. 1 root root  6144 Sep 18 17:07 aquota.user
 
 خامسًا :: تفعيل الـ quota على ملف النظام الذى سوف نعمل عليه 
	كود:
	quotaon /mnt/example
 سادسًا :: ما هو الـ hard limit والـ soft limit 
الـ hard limit أو كما يُسمية البعض hard block limit 
وهى  أقصى مساحه يمكن أن يستغلها المستخدم ولا يمكن تخطيها، فإذا وصل المستخدم إلى نهائتها، لن يستطيع إضافة أى مساحه إضافية لها
الـ soft limit أو كما يُسمية البعض soft block limit 
تُعتبر مثل الـ hard limit بالضبط ولكن مع إمكانية اضافة فترة سماح فى حالة  تجاوز المستخدم المساحة المسموح بها، وبخصوص فترة السماح يجب على المستخدم  خلال فترة السماح مسح الملفات الزائدة والرجوع إلى المساحه التى حددتها له  وه soft limit
وبالطبع الذى يحدث دائمًا، أقوم بتحديد soft limit وتحديد فترة السماح له  (يمكن تحديدها بالثوانى، الدقائق، اليوم، الشهر) ولتكن يومان فإذا تخطى  المستخدم الـ soft limit وهو مازال فى فترة السماح لا يمكنه مهما حدث أن  يتخطى الـ hard limit، لذلك عند تحديد فترة السماح يجب تحديد الـ hard  limit، وإن لم يتم تحديد فترة السماح، أصبحت الـ soft limit، هى أقصى مساحه  لا يمكن أن يتجاوزها المستخدم. 
 سابعًا :: تحديد الـ quatas للمستخدمين  
لتحديد الـ quotas للمستخدمين نقوم بتنفيذ الآتى 
	كود:
	edquota -u <user-name>
 
 وهنا يظهر لنا الملف aquota.user الذى يمكن تحديد جميع القيود من خلاله، هكذا  
	كود:
	  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdc1                         0          0          0          0        0        0
 
 وهنا هفرض أنى أريد تحديد الآتى:
الـ hard limit حوالى 100 ميجا 
الـ soflimit حوالى 50 ميجا 
فيكون الملف بعد التعديل هكذا 
	كود:
	  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdc1                         0       50000       100000             0        0        0
 
 ثامنًا :: تحديد فترة السماح 
لتحديد فترة السماح نقوم بكتابة الآتى  فيظهر لنا الآتى  
	كود:
	  Filesystem             Block grace period     Inode grace period
  /dev/sdc1                     7days                  7days
 
 نقوم بتحديد block grace period كما نريد، سواء minutes, hours, days.
ونحفظ اللمف ونقوم بالخروج. 
وهنا نكون قد وصلنا إلى آخر الشرح، أسأل الله أن يجعله فى ميزان حسناتى، وأن ينفعه