แหล่งแลกเปลี่ยนความรู้-ประสบการณ์ FreeBSD สำหรับคนไทย
:: เพื่อแลกเปลี่ยนความรู้, ถาม-ตอบปัญหาคาใจ, แนะนำ, ประกาศ, หรือทุกสิ่งตามต้องการ ::
 
Home  กลับหน้าหลัก  สมัครสมาชิก  ตั้งคำถามใหม่  แก้ไขข้อมูลสมาชิก  ดูสมาชิกทั้งหมด  ลืมรหัสผ่าน

ขอเชิญร่วมตอบคำถามครับ



  Chillispot สอนการทำ User แบบหมดเวลา
   Apisit
 Posted : 2008-08-20 16:09:56

 หน้าใหม่ไร้วรยุทธ์
 

 Sex :
 Post : 10
 สมาชิกลำดับที่ : 2853
ขั้นตอนการทำมีดังนี้ครับ

ก่อนอื่นต้องไปเปลี่ยนค่าใน /usr/local/etc/raddb/ ไฟล์ที่ชื่อว่า radiusd.conf

ให้หาคำว่า sqlcounter monthlycounter ประมาณบรรทัดที่ 1477

แล้วเพิ่มบรรทัดเหล่านี้ลงไป

sqlcounter noresetcounter {
counter-name = Max-All-Session-Time
check-name = Max-All-Session
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(AcctSessionTime) FROM radacct WHERE UserName='%{%k}'"
}

ดังตัวอย่าง

sqlcounter noresetcounter {
counter-name = Max-All-Session-Time
check-name = Max-All-Session
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(AcctSessionTime) FROM radacct WHERE UserName='%{%k}'"
}

sqlcounter monthlycounter {
counter-name = Monthly-Session-Time
check-name = Max-Monthly-Session
sqlmod-inst = sql
key = User-Name
reset = monthly
}

แล้วหาคำว่า authorize

แล้วเพิ่ม sqlcounter name ทั้ง 3 ชื่อลงไปในหัวข้อ authorize { ... }

authorize {
# checkval
noresetcounter
dailycounter
monthlycounter
}

เมื่อแก้ไขเสร็จก็ทำการบันทึกไฟล์ radiusd.conf แล้ว reboot เครื่องใหม่


เสร็จแล้วไปแก้ไขฐานข้อมูลของ radius ที่ตาราง radgroupcheck แล้วเพิ่ม Attribute เหล่านี้ลงไป

Max-All-Session หมายถึง user จะใช้ได้เพียงเวลาสูงสุดที่กำหนดไว้ถ้าหมดเวลาแล้วจะไม่สามารถกลับมาใช้ได้อีก

Max-Daily-Session หมายถึง user จะใช้ได้เพียงเวาลาสูงสุดที่กำหนดไว้ต่อหนึ่งวัน

Max-Monthly-Session หมายถึง user จะใช้ได้เพียงเวาลาสูงสุดที่กำหนดไว้ต่อหนึ่งเดือน

ดังตัวอย่างเช่น

id GroupName Attribute op Value
13 test Simultaneous-Use := 1
14 test Max-All-Session := 3600

ดังตัวอย่างผมจะกำหนดให้ user ที่อยู่ใน group test สามารถ login ได้เพียง 1 user/1 connection ต่อ 1 ช่วงเวลา
และสามมารถใช้งานอินเทอร์เน็ตได้เพียง 1 ชั่วโมงเท่านั้น

เท่านี้คุณก็สามารถกำหนดเวลาให้กับ user ได้แล้ว

ถ้ามีข้อสงสัยหรือคำแนะนำสามารถโพสถามในกระทู้นี้ได้เลยแล้วเดียวผมจะเข้ามาตอบครับ

 
  IP : (192.168.13.46)
ชื่อสมาชิก Apisit Mail to Apisit
แสดงความคิดเห็น

   Apisit
 Posted : 2008-08-20 16:12:57   IP : (192.168.13.46)

 หน้าใหม่ไร้วรยุทธ์
 

 Sex :
 Post : 10
 สมาชิกลำดับที่ : 2853
หมายเหตุ

query = "SELECT SUM(AcctSessionTime) FROM radacct WHERE UserName='%{%k}'"

บรรทัดนี้ UserName='%{%k}'" จะอยู่บรรทัดเดียวกับ WHERE นะครับ

 
 Comment : 1
ชื่อสมาชิก Apisit Mail to Apisit
กลับขึ้นด้านบน

 printer
 Posted : 2008-08-21 04:22:51   IP : (192.168.100.2)
เยี่ยมเลยครับ

 
 Comment : 2
กลับขึ้นด้านบน

 ต้น
 Posted : 2008-08-21 09:19:32   IP : (203.150.210.131)
ขอลองหนอยนะครับ ขอบคุณมากๆ เลยครับ

 
 Comment : 3
กลับขึ้นด้านบน

 กำลังหัดเล่น
 Posted : 2008-09-16 18:25:03   IP : (192.168.101.120)
แล้วถ้าผมต้องการให้ user สามารถใช้ได้ครั้งละ 8 ชั่วโมงต่อครั้งโดยไม่จำกัดจำนวนครั้งละครับ คือในหนึ่งวันคุณจะ login กี่ครั้งก็ได้แต่สามารถใช้งานได้ครั้งละไม่เกิน 8 ชั่วโมง พอหมด 8 ชั่วโมงแล้วต้อง login ใหม่ต้องกำหนดอย่างไรครับ

 
 Comment : 4
กลับขึ้นด้านบน

   wongtawandkt
 Posted : 2008-09-16 19:43:24   IP : (192.168.182.8)

 หน้าใหม่ไร้วรยุทธ์
 

 Sex :
 Post : 81
 สมาชิกลำดับที่ : 2674
ก่อนอื่นต้องขอบคุณอาจารย์อภิสิทธิ์มากครับ

อยากจะสอบถามเพิ่มเติมนิดนึงครับอาจารย์ ไม่ทราบว่า user 1 account ที่ว่านี้สามารถ login ได้ 1 คน แล้วสามารถเล่นอินเตอร์เน็ตได้ 1 ชั่วโมง ถ้าหมดชั่วโมงแล้ว user ดังกล่าวนี้จะไม่สามารถใช้งานได้อีก

แล้วถ้าหากว่า ผมใช้ user นี้ login เล่นอินเตอร์เน็ต เช่น วันนี้เล่น 20 นาที แล้ววันพรุ่งนี้ login ใหม่ จะทำให้มีเวลาเหลือเล่นอีก 40 นาที หรือไม่ ? ครับ หรือว่า นับเป็น 1 ชั่วโมงต่อการเล่นอินเตอร์เน็ต 1 ครั้งครับ


 
 Comment : 5
ชื่อสมาชิก wongtawandkt Mail to wongtawandkt เบอร์ msn wongtawandkt@hotmail.com
กลับขึ้นด้านบน

   chalee
 Posted : 2008-09-16 19:45:10   IP : (1.1.1.94)

  จอมยุทธ์น้อย
 

 Sex :
 Post : 494
 สมาชิกลำดับที่ : 431
1. Simultaneous-Use=1 (Login 1 user / 1 เครื่อง)
2. Max-Daily-Session=7200 (กำหนดเวลาการเล่น 2 ชม/วัน)
3. Idle-Timeout=600 (ถ้าไม่ใช้งาน internet นาน 10 นาที จะ logout เองอัตโนมัติ)
4. Session-Timeout=7200 (login ครั้งนึงเล่นได้ นาน 2 ชม. จะมีตัวนับเวลาถอยหลังบอกเวลาที่เหลือ)
5. WISPr-Bandwidth-Max-Up=128000 (Bandwidth Upload สูงสุด 128MB)
6. WISPr-Bandwidth-Max-Down=512000 (Bandwidth Download สูงสุด 512MB)
7. WISPr-Redirection-URL=http://www.google.co.th (เมื่อทำการ Login ให้เปิด Web ขึ้นมา)

 

ทำได้เท่าที่จะทำ
 Comment : 6
ชื่อสมาชิก chalee Mail to chalee
กลับขึ้นด้านบน

 กำลังหัดเล่น
 Posted : 2008-09-17 11:22:32   IP : (192.168.101.162)
จากข้อความของคุณ chalee

1. Simultaneous-Use=1 (Login 1 user / 1 เครื่อง)
2. Max-Daily-Session=7200 (กำหนดเวลาการเล่น 2 ชม/วัน)
3. Idle-Timeout=600 (ถ้าไม่ใช้งาน internet นาน 10 นาที จะ logout เองอัตโนมัติ)
4. Session-Timeout=7200 (login ครั้งนึงเล่นได้ นาน 2 ชม. จะมีตัวนับเวลาถอยหลังบอกเวลาที่เหลือ)
5. WISPr-Bandwidth-Max-Up=128000 (Bandwidth Upload สูงสุด 128MB)
6. WISPr-Bandwidth-Max-Down=512000 (Bandwidth Download สูงสุด 512MB)
7. WISPr-Redirection-URL=http://www.google.co.th (เมื่อทำการ Login ให้เปิด Web ขึ้นมา)


ผมอยากทราบว่าผลของการทำงานจะเป็นอย่างไรครับแล้วก็ผมเห็นมีข้อ 2 กับข้อ 4 มันจะทำงานขัดกันหรือเปล่าครับ หรือว่าไม่มีปัญหาครับ

ขอบคุณมากครับ

 
 Comment : 7
กลับขึ้นด้านบน

 bydee
 Posted : 2008-10-08 15:02:46   IP : (192.168.182.3)
ขอบคุณครับผม

 
 Comment : 8
กลับขึ้นด้านบน

   skypec
 Posted : 2008-10-14 09:43:04   IP : (118.173.202.185)

 หน้าใหม่ไร้วรยุทธ์
 

 Sex :
 Post : 34
 สมาชิกลำดับที่ : 2808
เยี่ยมเลยครับ


 

ศึกษาหาความรู้
 Comment : 9
ชื่อสมาชิก skypec Mail to skypec
กลับขึ้นด้านบน

 kom
 Posted : 2008-11-16 16:31:48   IP : (222.123.170.21)
จะสังเกตุได้อย่างไรครับว่า user ไหนหมดเวลา เพื่อที่จะได้ทำการลบ user นั้นๆ ออกครับ

 
 Comment : 10
กลับขึ้นด้านบน

1 2 3


 แสดงความเห็นต่อคำถามนี้
ชื่อ/Username
รหัสผ่าน
( เฉพาะสมาชิก )
อีเมลล์
( ถ้าเป็นสมาชิกไม่ต้องใส่ )
รูปแบบพิเศษ   ย่อหน้า ตัวหนา ตัวยก ตัวห้อย ตัวหนังสือเรืองแสง ตัวหนังสือมีเงา ตัวเอียง เส้นใต้ สีแดง สีเขียว สีน้ำเงิน สีส้ม สีชมพู สีเทา
Emotions  
แทรกภาพ  
ขนาดภาพ ห้ามเกิน 50 kb  และ ไฟล์ Flash ขนาดห้ามเกิน 500 kb
แสดงความเห็น

ความปลอดภัย กรุณากรอกข้อความที่ท่านเห็นด้านล่าง
   
   
   
[ สมัครสมาชิก | ปิดหน้าต่างนี้ ]


ข้อความที่ท่านได้อ่าน เกิดจากการเขียนโดยสาธารณชน และส่งขึ้นมาแบบอัตโนมัติ เจ้าของเว็บบอร์ดไม่รับผิดชอบต่อข้อความใดๆทั้งสิ้น เพราะไม่สามารถ
ระบุได้ว่าเป็นความจริงหรือชื่อผู้เขียนที่ได้เห็นคือชื่อจริง ผู้อ่านจึงควรใช้วิจารณญาณในการกลั่นกรอง และถ้าท่านพบเห็นข้อความใด ที่ขัดต่อกฎหมายและ
ศีลธรรม หรือเป็นการกลั่นแกล้งเพื่อให้เกิดความเสียหาย ต่อบุคคล หรือหน่วยงานใด กรุณาส่ง email มาที่ admin@thaibsd.com เพื่อให้ผู้ควบคุม
ระบบทราบและทำการลบข้อความนั้น ออกจากระบบต่อไป


 © Copyright 2001 thaibsd.com All Right Reserved. Contact >> admin@thaibsd.com