Home | Back


การกำหนด quota ใน debian

Saturday, 7 April 2007



ในการใช้งาน Linux แบบมีผู้ใช้หลาย ๆ คนนั้น ผู้ดูแลระบบมักจะเจอกับปัญหาการใช้เนื้อที่ฮาร์ดดิสก์ของผู้ใช้แต่ละคนแบบไม่บันยะบันยัง คือเอาอะไรต่อมิอะไรมายัดไว้ในระบบ เช่น ไฟล์หนัง หรือไปโหลดพวกเกมส์ขนาดยักษ์ ๆ มาใส่ไว้แล้วไม่ยอมลบ ทำให้เนื้อที่ของระบบมีการใช้งานที่ไม่คุ้มค่า ในระบบ Linux นั้น เราสามารถกำหนด quota (โควต้า) ในการใช้เนื้อที่ของฮาร์ดดิสก์ของผู้ใช้แต่ละคน หรือแต่ละกลุ่มได้ ผมเองได้ไปค้นหาวิธีการใช้งาน quota ในระบบ Debian มาลง แต่ก็เชื่อว่าน่าจะใช้ได้กับ Ubuntu ด้วยเหมือนกัน เอาล่ะ มาเริ่มกัน

เริ่มจากทำการลง package ที่ใช้ทำ quota ก่อนด้วยคำสั่ง

$ apt-get install quota quotatool

ต่อไปก็ทำการแก้ไฟล์ระบบที่ชื่อว่า /etc/fstab ซึ่งเป็นไฟล์ที่กำหนด การ mount พาติชั่นต่าง ๆ ของฮาร์ดดิสก์กับระบบของ Linux โดย ถ้าเราต้องกำหนด quota กับพาติชั่นใด ก็แก้เฉพาะพาติชั่นนั้น

File : /etc/fstab

# /etc/fstab: static file system information.
#
#                       
/dev/hdb2         /            ext2   errors=remount-ro           0      1
/dev/hdb1         none         swap   sw                          0      0
/dev/hdb3         /home        ext2   defaults,usrquota,grpquota  0      1

จากข้างบนส่วนที่เป็นสีแดงคือส่วนที่เราเพิ่มเข้าไป โดยในที่นี้เราจะกำหนด quota ให้กับ /home นั่นเอง ต่อไปเราก็ทำการสร้างไฟล์ของระบบ quota ของ /home ดังนี้

$ touch /home/aquota.user
$ touch /home/aquota.group
$ chmod 600 /home/aquota.user /home/aquota.group

จากนั้นเราก็รีบูตเครื่องใหม่ หรือถ้าไม่ต้องการรีบูตเครื่องใหม่ก็ต้องทำการ remount พาติชั่นใหม่และสั่งให้ระบบ quota ทำงาน

$ mount -o remount,usrquota /home
$ quotacheck -vagum

หลังจากนี้เราก็สามารถกำหนด quota ได้แล้วครับ เช่น ถ้าเราต้องการกำหนด quota ให้กับผู้ใช้ชื่อ sky โดยมี soft limit ที่ 1000 blocks และ hard limit ที่ 1200 blocks เราสามารถทำได้ด้วยคำสั่งดังนี้

$ quotatool -u sky -bq 1000 -l 1200 /home

โดย soft limit จะหมายถึงขอบเขตที่อนุญาตให้ชั่วคราว 7 วันและ hard limit หมายถึงขอบเขตที่ไม่สามารถผ่านไปได้ครับ และถ้าหากเราต้องการดูการใช้ quota ทั้งหมดเราสามารถดูได้ด้วยคำสั่ง

$ repquota /home

เอาล่ะครับ ลองทำดูละกัน :)



Home | Back