Set up Quota Limits per User on CUPS Print Server
ใน Linux และ Unix ทั้งหลาย โปรแกรมที่จะใช้ในการทำ print server มีชื่อว่า CUPS ซึ่งข้อเสียของ CUPS นี้คือไม่สามารถ set quota รายบุคลลได้ แต่เราสามารถประยุกต์ใช้ feature allow/deny ในรายบุคคลและกลุ่มได้ ซึ่งมันก็จะสามารถทำงานได้คล้ายๆกับการใช้ quota แต่ความแม่นยำในการนับจำนวนหน้าสำหรับ client ที่เป็น windows อาจจะไม่แม่นยำมากนัก เนื่องจากปัญหาด้านการสื่อสารระหว่าง windows client กับ CUPS
วิธีการ set quota ให้กับ CUPS (print server)
วิธีการนี้จะเป็นการบังคับให้ทุกคนใช้งานตามที่กำหนดไว้ โดยจะใช้คำสั่ง lpadmin โดยใช้ option job-quota-period สำหรับกำหนดช่วงเวลา หน่วยเป็นวินาที (1 วัน = 86400), option job-k-limit สำหรับกำหนดขนาดของข้อมูลรวม หน่วยเป็น KBytes และ option job-page-limit กำหนดจำนวนหน้ารวม
ต้องการ set quota ให้กับ printer1 ให้สามารถ print ข้อมูลรวมได้มากที่สุด 5 MB ภายในเวลา 1 วัน
# lpadmin -p printer1 -o job-quota-period=86400 -o job-k-limit=5120
ต้องการ set quota ให้กับ printer2 ให้สามารถ print จำนวนหน้าได้มากที่สุด 200 หน้า ภายในเวลา 1 ซัน
# lpadmin -p printer2 -o job-quota-period=604800 -o job-page-limit=200
วิธีการ set user quota ให้กับ CUPS (print server)
วิธีการนี้เป็นการ set user quota ให้รายบุคคลโดยมี option ที่เพิ่มเติมจากข้างบนคือ
-E คือการ enable printer
-v smb://server/printer คือ การระบุวิธีการแชร์ printer ในที่นี้คือการแชร์ printer ผ่าน samba
-u deny:all,all คือ การ deny ทุก user และทุก group
-u allow:tum,tum คือ การอนุญาติเฉพาะ user tum และ group tum
ตัวอย่าง จะ set quota ที่ printer3 ให้ user tum ให้สามารถ print ได้ผ่าน samba protocol จำนวนหน้ามากที่สุด 10 หน้า ภายในเวลา 1 วัน
# lpadmin -p printer3 -E -v smb://server/printer -u deny:all,all -u allow:tum,tum -o job-quota-period=86400 -o job-page-limit=10
1 comment