บทนำ
ในฐานะ database administrator เราต้องมีการสรา้งฐานข้อมูลให้ ทีม developer ในการบริหารจัดการระบบที่จะพัฒนาขึ้น ในการสรา้งฐานข้อมูล postgres ซึ่งจะเป็นเจ้าของฐานข้อมูลทุกตัวที่สร้างขึ้นมา จะให้รหัสผ่าน postgres กับทีม developor กระดากใจ จะสร้างผู้ใช้งานและกำหนดสิทธิ ก็เดี๋ยวต้องมาคอยกำหนดสิทธิเพิ่มเติมอีกให้ว้าวุ่นกันอีก(เพราะในกระบวนพัฒนาระบบโครงสร้างข้อมูลยังไม่นิ่ง) ดังนั้นวิธีดีคือ เราจึงต้องสร้างผู้ใช้งาน และมอบสิทธิความเป็นเจ้าของ(owner)ให้ฐานข้อมูลนั้นเพื่อให้สามารถเข้าถึงฐานข้อมูลนั้น และในกรณีที่รหัสผ่านของผู้ใช้งานนั้นหลุดก็มีผลกระทบแค่กับฐานข้อมูลนั้น
บทความนี้จะแสดงการสร้างผู้ใช้งาน และให้สิทธิความเป็นเจ้าของฐานข้อมูล PosgreSQL ผ่าน command line บน Ubuntu Linux
วิธีดังกล่าวสามารถนำไปใช้กับ PostgreSQL ที่ติดตั้งในระบบปฏิบัติอื่นๆได้
การสร้างผู้ใช้งานใหม่บน PostgreSQL
1.เข้าใช้งาน psql เพื่อเข้าใช้งาน PostGreSQL ผ่าน command line ที่ terminal ใน Ubuntu พิมพ์
# sudo -u postgres psql
จะเข้าสู่ shell ของ postgres
postgres-#
2.แสดงรายการผู้ใช้งานใน PostgreSQL ผ่านคำสั่ง
postgres-# \du หรือ \du+
จะแสดงรายชื่อผู้ใช้งานในฐานข้อมูล
3.สรา้งผู้ใช้งานชื่อ demo โดยกำหนดรหัสผ่านเป็น demo1234 ผ่านคำสั่ง SQL
postgres-# CREATE USER demo WITH PASSWORD 'demo1234';
เมื่อใช้คำสั่ง \du จะพบชื่อผู้ใช้งาน demo ที่สร้างขึ้นใหม่
การมอบสิทธิเจ้าของฐานข้อมูลให้ผู้ใช้งานที่สร้างขึ้น
1.สรา้งฐานข้อมูล demodb ผ่านคำสั่ง SQL
postgres-# CREATE DATABASE demodb;
2.มอบทุกสิทธิในฐานข้อมูล demodb ให้กับผู้ใช้งาน demo ผ่านคำสั่ง
postgres-# GRANT ALL PRIVILEGES ON DATABASE demodb TO demo;
3.มอบสิทธิความเป็นเจ้าของ demodb ให้กับผู้ใช้งาน demo ผ่านคำสั่ง
postgres-# ALTER DATABASE demodb OWNER TO demo;
4.ตรวจสอบความเป็นเจ้าของฐานข้อมูล โดยใช้ \l แสดงรายชื่อฐานข้อมูล
postgres-# \l
ในรายชื่อฐานข้อมูล demodb ที่คอลัมถ์ Owner จะแสดงค่าเป็น demo
หมายเหตุ เราสามารถสร้างฐานข้อมูลพร้อมกำหนดเจ้าของได้ในคำสั่งเดียวผ่าน
postgres-# CREATE DATABASE demodb WITH OWNER demo;
จะเป็นการสรา้งฐานข้อมูล demodb พร้อมกับกำหนดเจ้าของเป็น demo ในคำสั่งเดียว
บทส่งท้าย
ก็จะมีคำถามต่อมาว่า ถ้ารหัสผ่านของผู้ใช้ที่สร้างมาหลุดไปก็ไม่ปลอดภัยสิ ซึ่งเมื่อระบบขึ้นใช้งานจริงแล้วเราสามารถจำกัดสิทธิบางอย่างของผู้ใช้งานนั้นได้ หรือสร้างผู้ใช่งานใหม่โดยกำหนดสิทธิเท่าที่จำเป็น และใช้ผู้ใช้งานนั้นในการเชื่อมต่อฐานข้อมูล
Top comments (0)