เทคนิคการเซ็ต Group ID ของ User ใน Elastix จากดาต้าเบสโดยตรง

Elastix IP Pbx

Moderator: jubjang

เทคนิคการเซ็ต Group ID ของ User ใน Elastix จากดาต้าเบสโดยตรง

โพสต์โดย nuiz » 16 ม.ค. 2012 10:19

หากเราเผลอไปเซ็ต Group ของ User=admin ในหน้าเว็บ User Management เป็นค่าอื่นที่ไม่ใช่ "administrator" ผลก็คือเราจะมองไม่เห็นทุกเมนู เมนูจะหายไปเยอะมาก ก็ตามสิทธิของแต่ละ Group หน่ะครับ ผมมีวิธีที่จะตรวจสอบและแก้ไขให้กลับไปเป็นเหมือนเดิมโดยไม่ต้องลง Elastix ใหม่ วิธีค่อนข้างยาวนะครับแต่เน้นให้เข้าใจลองทำตามทีละข้อๆครับ

Elastix เก็บ User, Password, Group Permission ที่เราคอนฟิกหน้า User Management ไว้ในดาต้าเบส SQLite ครับ (ไม่ใช่ MySQL) ดาต้าเบสเก็บอยู่ในไฟล์ /var/www/db/acl.db

1. เช็คว่า user=admin มีค่า id_user เท่าไหร่

โค้ด: เลือกทั้งหมด
/usr/bin/sqlite3 /var/www/db/acl.db "SELECT * from acl_user"


ผลลัพท์จะอยู่ในฟอร์แม็ตแบบนี้

id|name|description|md5_password|extension

เช่น

1|admin||3002911fe1675ef178df94016e248c4|

จะเห็นว่า user=admin มีค่า id=1 เราจะเอาค่านี้มาเป็น id_user ในเทเบิลต่อๆไป

2. เช็คว่า user=admin อยู่ใน group ไหน

ซึ่งดีฟอลท์ของ Elastix เขาทำไว้ 3 groups คือ 1=administartor, 2=Operador, 3=Extension ซึ่งต้องเป็น group administrator เท่านั้นถึงจะเห็นได้ทุกเมนู

โค้ด: เลือกทั้งหมด
/usr/bin/sqlite3 /var/www/db/acl.db "SELECT * from acl_membership"


ผลลัพท์จะอยู่ในฟอร์แม็ตแบบนี้ id|id_user|id_group เช่น

1|1|1
2|2|2

ดูบรรทัดที่มี id_user=1 ครับ ซึ่งคือ admin จะเห็นว่ามีค่า id_group=1 ซึ่งคือ administrator อันนี้เป็นดีฟอลท์ ถ้าหากว่าค่า id_group ไม่ใช่ 1 ก็จะเห็นได้ไม่ครบทุกเมนู

3. เซ็ตค่า id_group ของเทเบิล acl_membership

ถ้าต้องการเซ็ตค่า id_group ของ admin กลับไปเป็น 1 ตามเดิม ให้รันคำสั่งนี้

โค้ด: เลือกทั้งหมด
/usr/bin/sqlite3 /var/www/db/acl.db "UPDATE acl_membership SET id_group='1' WHERE id_user='1'"


ระวังเครื่องหมาย ' และ " ด้วยนะครับ

4. ลองเช็คดูอีกที

โค้ด: เลือกทั้งหมด
/usr/bin/sqlite3 /var/www/db/acl.db "SELECT * from acl_membership"


2|2|2
3|1|1

จะเห็นว่าค่า id_group ของ id_user=1 เปลี่ยนไปเป็น 1 แล้ว

5. เข้าหน้าเว็บ Elastix
ล๊อกอินด้วย admin ก็จะเห็นครบทุกเมนูตามเดิม

บทความที่เกี่ยวข้อง
เทคนิคการรีเซ็ต admin password ของ Elastix
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิคการเซ็ต Group ID ของ User ใน Elastix จากดาต้าเบสโดยตรง

โพสต์โดย kenkoku » 17 ม.ค. 2012 17:56

ผมจะกำหนด Group Permission ให้มันเห็นแค่รีพอร์ตกับ ที่อัดเสียง มันเห็นเมนูทุกอย่างตามที่เซตแต่ติดตรงที่มันให้กำหนด Ext. ด้วยไม่สามารถดูได้ถ้าไม่กำหนด ext.อื่นได้ เหมือน user admin พอจะมีวิธีแก้ไหมครับให้มันเห็นรีพอร์ตทั้งหมดกับไฟล์ที่อัดเสียงของทุกเบอร์เพราะเท่าที่ลองเซตดูถ้าไม่ใช่ USER ADMIN ไม่สามารถเลือก แบบ no Ext. ได้เลย
kenkoku
Gold Member
 
โพสต์: 55
ลงทะเบียนเมื่อ: 07 ก.ย. 2010 10:53

Re: เทคนิคการเซ็ต Group ID ของ User ใน Elastix จากดาต้าเบสโดยตรง

โพสต์โดย nuiz » 17 ม.ค. 2012 20:51

น่าจะได้นะครับ เพราะว่าเทเบิล acl_user มีฟิลด์ชื่อ extension อยู่ด้วย โดย user=admin ฟิลด์นี้จะว่างๆไว้ ก็เลยเห็นทุกๆเบอร์ extension

*** ผมยังไม่ได้แกะโค๊ดดูว่าที่ admin มองเห็นทุกเบอร์ extensions เป็นเพราะว่าอยู่ใน group=administrator หรือเป็นเพราะว่าฟิลด์ extension มันว่างเปล่า **

ผมเดาไว้ก่อนว่าเป็นเพราะฟิลด์ extension มันว่างเปล่า

ถ้าเราเซ็ตฟิลด์ extension ของ user ที่ต้องการให้มันว่างเปล่า ผมคิดว่าก็น่าจะเห็นทุกเบอร์ extension เหมือนที่ admin เห็น มาเริ่มเทสกันเลยจะได้หายสงสัย

1. เช็คว่า user ที่ต้องการ มีค่า id เป็นเท่าไหร่

/usr/bin/sqlite3 /var/www/db/acl.db "SELECT * from acl_user"

ดูว่า user ที่ต้องการมีค่า id เท่ากับเท่าไหร่ เช่น 5

2. รันคำสั่งนี้ต่อเพื่อเซ็ต extension ให้มันเป็นว่างเปล่า

/usr/bin/sqlite3 /var/www/db/acl.db "UPDATE acl_user SET extension='' where id='5'"

สังเกตว่าผมไม่ได้ใส่ค่าอะไรในฟิลด์ extension

3. เช็คเทเบิล acl_user อีกทีว่าฟิลด์ extension ว่างเปล่าหรือยัง

/usr/bin/sqlite3 /var/www/db/acl.db "SELECT * from acl_user"

ลองดูครับ เวอร์คไม่เวอร์คก็มาอัพเดทกันอีกที ผมยังไม่ได้ลอง
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิคการเซ็ต Group ID ของ User ใน Elastix จากดาต้าเบสโดยตรง

โพสต์โดย kenkoku » 18 ม.ค. 2012 18:11

ครับเดี๋ยวขอลองก่อน ลองแบบ Grop administrator แล้วไม่เห็นเหมือนกัน น่าจะเป็นที่ ฟิลด์
kenkoku
Gold Member
 
โพสต์: 55
ลงทะเบียนเมื่อ: 07 ก.ย. 2010 10:53

Re: เทคนิคการเซ็ต Group ID ของ User ใน Elastix จากดาต้าเบสโดยตรง

โพสต์โดย nuiz » 31 ต.ค. 2012 16:48

สรุปว่าถ้าจะให้ Users อื่นๆที่ไม่ได้อยู่ใน Group Admin ล๊อกอินเข้า Elastix แล้วให้เห็น CDR, Recording ของเบอร์ Extensions อื่นๆด้วยนั้น (เหมือนกับที่ Group Admin เห็น) การแก้ไขที่ดาต้าเบสก็ไม่มีผลนะครับ หากเปลี่ยนให้ User นั้นอยู่ใน Group Admin เขาก็จะกลายเป็น Admin ไปด้วยอีกคน
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


ย้อนกลับไปยัง Elastix - Unified Communications Software

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 4 ท่าน