ฉันต้องคิดถึงบางสิ่งเกี่ยวกับการตั้งค่า PostgreSQL สิ่งที่ฉันต้องการจะทำคือสร้างฐานข้อมูลและผู้ใช้ที่แยกจากกันเพื่อให้ผู้ใช้เฉพาะสามารถเข้าถึงฐานข้อมูลที่ฉันระบุ อย่างไรก็ตามจากสิ่งที่ฉันสามารถตรวจสอบได้ผู้ใช้ที่สร้างขึ้นใด ๆ สามารถเข้าถึงฐานข้อมูลทั้งหมดโดยไม่มีการมอบสิทธิ์ใด ๆ
นี่คือสิ่งที่ฉันทำบน Ubuntu Server 12.04:
- apt-get install postgresql
- sudo -u postgres createuser -DRSP mike1 (การระบุรหัสผ่านสำหรับผู้ใช้ใหม่)
- sudo -u postgres createdb data1
- psql -h localhost -U mike1 data1 (การระบุรหัสผ่านสำหรับผู้ใช้ mike1 เพื่อล็อกอิน)
ดูเหมือนว่าผู้ใช้ใหม่ "mike1" ไม่มีปัญหาในการเชื่อมต่อกับฐานข้อมูล "data1" และการสร้างตาราง ฯลฯ และสิ่งนี้โดยไม่ต้องเรียกใช้คำสั่ง GRANT เลย (และเจ้าของ "data1" คือ "postgres" เนื่องจากฉันไม่ได้ระบุ เจ้าของในขั้นตอนที่ 3) นี่เป็นวิธีการทำงานจริง ๆ หรือไม่
สิ่งที่ฉันต้องการจะทำคือให้สิทธิ์ mike1 ในการเข้าถึง data1 อย่างเต็มรูปแบบจากนั้นทำซ้ำสิ่งนี้กับผู้ใช้และฐานข้อมูลเพิ่มเติมตรวจสอบให้แน่ใจว่าผู้ใช้มีสิทธิ์เข้าถึงฐานข้อมูลเดียวเท่านั้น