“ เข้าสู่ระบบ” เพื่อ phpMyAdmin ผ่านผู้ใช้ที่แตกต่างกัน


7

ฉันต้องการช่างเทคนิค (การตลาด / การขาย) เพื่อเข้าถึงข้อมูลที่ฉันจัดการเป็นประจำผ่าน phpMyAdmin:

  1. ไม่มีความสามารถในการแก้ไข / แทรก / ลบ
  2. โดยที่ฉันไม่ต้องสร้างโปรแกรมดูฐานข้อมูลพิเศษ

ฉันได้สร้างผู้ใช้ใหม่ด้วยสิทธิ์ที่ จำกัด แต่ฉันไม่ต้องการให้ผู้ที่ไม่ใช่ช่างเทคนิคของฉันต้องใช้พรอมต์คำสั่งและเรียนรู้คำสั่ง mysql

อย่างดีที่สุดฉันต้องการให้เขาสามารถไปที่ phpmyadmin UI แต่มีความสามารถเท่านั้นที่อนุญาต (ในกรณีนี้เป็นแบบอ่านอย่างเดียว)

ฉันต้องตั้งค่า phpmyadmin แยกต่างหากโดยที่ผู้ใช้ที่ควบคุมคือผู้ใช้ที่อ่อนแอกว่านี้หรือไม่ หรือมีอินเทอร์เฟซ "ล็อกอินในฐานะผู้ใช้เฉพาะ" ที่ฉันพลาดไปในเอกสารประกอบ

UPDATE:

ฉันเคยเห็นหน้าจอเข้าสู่ระบบตามที่แนะนำใน googletorp เมื่อฉันใช้ pmas ที่ติดตั้งอัตโนมัติโดยโฮสต์ แต่ไม่เคยติดตั้งรุ่นที่ไม่ได้ใช้ในกล่อง

ฉันพยายามแสดงความคิดเห็นออก $ cfg ['เซิร์ฟเวอร์'] [$ i] ['ผู้ใช้'] และ $ cfg ['เซิร์ฟเวอร์'] [$ i] ['ผ่าน'] แนะนำ googletorp - บางทีมันอาจจะทำให้ฉันเข้าสู่ระบบด้วย จอภาพ แต่ฉันได้รับข้อผิดพลาด # 1045:

# 1045 - การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'root' @ 'localhost' (ใช้รหัสผ่าน: NO)

จากนั้นฉันคิดว่าอาจจะคอมเม้นต์ $ cfg ['เซิร์ฟเวอร์'] [$ i] ['controluser'] และ $ cfg ['เซิร์ฟเวอร์'] [$ i] ['controlpass'] แต่ความคิดเห็นกล่าวว่าพวกเขาควรจะเป็นผู้ใช้แบบอ่านอย่างเดียว

hm ...

คำตอบ:


4

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

ดังนั้นหากคุณสร้างผู้ใช้ที่มีการ จำกัด การเข้าถึงเขาสามารถใช้ phpmyadmin ที่มีอยู่ได้

คุณสามารถลองด้วยตัวเองและลงชื่อเข้าใช้กับผู้ใช้ที่คุณสร้างขึ้นและดูว่าอินเทอร์เฟซมีลักษณะ จำกัด สิทธิ์อย่างไร

ปรับปรุง:

จาก phpmyadmin ทั้งหมดที่ฉันได้ลองกับผู้ให้บริการโฮสติ้งที่แตกต่างกันและอื่น ๆ มีลักษณะดังนี้:

เข้าสู่ระบบ

ตอนนี้ก็เห็นได้จากความคิดเห็นอื่นของคุณว่าคุณได้ปิดการใช้งานนี้โดยการตั้งค่าผู้ใช้ในไฟล์ config ฉันยังไม่ได้ทดสอบสิ่งนี้เนื่องจากฉันไม่ได้ใช้ phpmyadmin ภายในเครื่องอีกต่อไป แต่ฉันเดาว่าถ้าคุณลบข้อมูลประจำตัว mysql ออกจากไฟล์ config คุณจะเห็นหน้าจอเข้าสู่ระบบด้านบนแทน อนุญาตให้ใช้ผู้ใช้ที่แตกต่างกันด้วยสิทธิ์ที่แตกต่างกัน


คำถามเฉพาะของฉันคือจะ "ลงชื่อเข้าใช้กับผู้ใช้ที่คุณสร้างและดูว่าอินเทอร์เฟซมีลักษณะอย่างไร" โดยการเปิด phpmyadmin ฉันจะ "รัน mysql" โดยอัตโนมัติผ่านผู้ใช้ที่มีการขับเคลื่อนเต็มรูปแบบเดิม ฉันคิดว่าฉันสามารถตั้งค่าผู้ใช้ผ่านที่ mysql เข้าถึงได้ผ่านไฟล์ปรับแต่ง ... แต่ฉันไม่ต้องการเปลี่ยนไฟล์กำหนดค่าทุกครั้งที่ฉันต้องการให้คนในวงการการตลาดมองฐานข้อมูล ฉันต้องการส่งเขาไปที่หน้าจอเข้าสู่ระบบเป็นหลักซึ่งเขาสามารถเข้าสู่ระบบด้วยผู้ใช้ที่ถูก จำกัด ที่ฉันสร้างขึ้น มี UI ดังกล่าวใน phpmyadmin หรือว่าจะสามารถกระทำภายใต้ผู้ใช้ในไฟล์กำหนดค่าได้หรือไม่
Jonah Goldstein

อืม ... บางทีการตอบสนองของฉันต่อโฮลด์นั้นชัดเจนขึ้น? อย่างน้อยฉันก็หวังอย่างนั้น :)
Jonah Goldstein

ฉันพยายามลบผู้ใช้ในไฟล์การกำหนดค่าและพบข้อผิดพลาดอธิบายมากกว่าข้างบนเล็กน้อย แม้ว่าคุณจะถูก - ฉันเคยเห็นหน้าจอนี้มาก่อนเมื่อโฮสต์ถูกติดตั้งโดยอัตโนมัติ แต่ไม่มีเมื่อฉันติดตั้ง PMA
Jonah Goldstein

2

หากคุณมีการติดตั้งเริ่มต้นของ phpMyAdmin คุณกำลังใช้การรับรองความถูกต้อง 'config' และชื่อและรหัสผ่านของคุณจะถูกเก็บไว้ในไฟล์ config.inc.php เนื่องจากคุณไม่เห็นหน้าจอเข้าสู่ระบบคุณอาจมี $ cfg ['เซิร์ฟเวอร์'] [$ i] ['auth_type'] = 'config' ในนั้นถ้าคุณตรวจสอบ คุณจะเห็นชื่อและรหัสผ่านของคุณ บางอย่างเช่น $ cfg ['เซิร์ฟเวอร์'] [$ i] ['user'] = 'root'; $ cfg ['เซิร์ฟเวอร์'] [$ i] ['รหัสผ่าน'] = ''; $ cfg ['เซิร์ฟเวอร์'] [$ i] ['AllowNoPassword'] = จริง;

หากต้องการให้หน้าจอเข้าสู่ระบบปรากฏขึ้นคุณต้องการเปลี่ยนการใช้การรับรองความถูกต้อง 'คุกกี้' คุณต้องทำการเปลี่ยนแปลงสองครั้งในไฟล์ config.inc.php เพื่อให้สิ่งนี้เกิดขึ้นและขอแนะนำให้ทำการเปลี่ยนแปลงครั้งที่สามเพื่อความปลอดภัย คุณสามารถดูhttp://www.phpmyadmin.net/documentation/#faqmultiuserสำหรับข้อมูลเพิ่มเติมหากคุณต้องการทราบตัวเลือกอื่น ๆ ของคุณ

ฉันจะแสดงรายการการเปลี่ยนแปลงตามลำดับที่เกิดขึ้นในไฟล์

  1. (แนะนำ) เปลี่ยน blowfish_secret เป็นสตริงแบบสุ่มใด ๆ ดังที่ความเห็นของไฟล์บอกว่าสตริงนี้ใช้เพื่อเข้ารหัสรหัสผ่านของคุณในการตรวจสอบความถูกต้องตามคุกกี้ (ซึ่งเป็นสิ่งที่คุณกำลังจะเปลี่ยน)

    $cfg['blowfish_secret'] = 'random string';
    
  2. ประมาณบรรทัดที่ 19 เปลี่ยนประเภทการรับรองความถูกต้องเป็นคุกกี้

    $cfg['Servers'][$i]['auth_type']            = 'cookie'; /*DEFAULT: 'config'
    
  3. ลบสามบรรทัดที่เก็บรหัสผ่านของคุณ (หากคุณยังคงใช้ 'รูท' ของผู้ใช้ด้วยรหัสผ่าน '' คุณอาจเปลี่ยนได้ในขณะที่คุณล็อกอินใน phpMyAdmin เป็นรูทคุณสามารถเปลี่ยน / ตั้งรหัสผ่านได้)

บันทึกไฟล์และจากนี้ไปคุณจะได้รับหน้าจอเข้าสู่ระบบและต้องใช้ชื่อผู้ใช้และรหัสผ่าน


1

ฉันไม่เข้าใจสิ่งที่คุณขอ ...

หากคุณสร้างผู้ใช้ mysql ใน phpmyadmin ผู้ร่วมงานของคุณสามารถทำการดำเนินการ sql เหล่านั้นที่คุณอนุญาตให้เขาใช้

คุณหมายถึงอะไร:

แต่ฉันไม่ต้องการให้ผู้ที่ไม่ใช่ช่างเทคนิคของฉันต้องใช้พรอมต์คำสั่งและเรียนรู้คำสั่ง mysql

คุณมี phpmyadmin บนเครื่องคอมพิวเตอร์ที่คุณติดตั้ง mysql อยู่หรือไม่ ไม่ว่าเขาจะทำอะไรก็ตามด้วยคำสั่ง promt, แน่นอนว่าถ้าเพื่อนร่วมงานของคุณไม่รู้จักชื่อผู้ใช้อื่นที่มีสิทธิ์สูงกว่า .. ถ้าคุณกังวลเกี่ยวกับการแฮ็ครหัสผ่าน mysql ฉันสงสัยว่าเขาจะจัดการให้ทำ นี้. ความเสี่ยงเพียงอย่างเดียวคือเขาสามารถลบไฟล์ฐานข้อมูลของคุณได้ แต่ถ้าคุณสร้างผู้ใช้ให้กับเขา (ในระบบปฏิบัติการใดก็ตามที่คุณใช้) ผู้อนุญาตไม่อนุญาตให้เข้าถึงไฟล์ฐานข้อมูลเหล่านั้นคุณจะปลอดภัย ..


ใช่ฉันแค่เป็นกังวลเกี่ยวกับเขาลบ / แก้ไขข้อมูล (ประมาทไม่ประสงค์ร้าย) ฉันเข้าใจว่าผู้ใช้ที่ระบุใน $ cfg ['เซิร์ฟเวอร์'] [$ i] ['ผู้ใช้'] ภายใน pma / config.inc.php จะพิจารณาพลังของการติดตั้ง phpmyadmin ดังนั้นคำถามคือ: ฉันสงสัยว่าถ้าฉันต้องการติดตั้ง PMA 2 ชุดเพื่อใช้งานตัวเองอย่างเต็มกำลังและให้รุ่นที่ติดขัด (ติดตั้งแยกกัน 2 ชุด) หรือถ้ามีวิธีหนึ่งในการติดตั้งและสำหรับเรา เพื่อเข้าสู่ระบบผ่าน phpmyadmin UI - ซึ่งฉันยังไม่เจอ ฉันหวังว่าจะชัดเจน :)
โจนาห์ Goldstein

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.