কম্পিউটার টিউটোরিয়াল

MySQL-এ REVOKE SHOW DATABASES দিয়ে ইউজারের সব ডেটাবেস দেখার পারমিশন সরানো

MySQL-এ কোনো ইউজারের SHOW DATABASES পারমিশন রিভোক (বাতিল) করতে REVOKE SHOW DATABASES ON *.* FROM 'user'@'host' স্টেটমেন্ট ব্যবহার করা হয়। এটি ইউজারকে সব ডেটাবেসের তালিকা দেখতে দেবে না।

ইউজার লিস্ট দেখানো

mysql> select user,host from MySQL.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| Robert           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam             | localhost |
| Adam Smith       | localhost |
| Chris            | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| Michael          | localhost |
| Mike             | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+

John@localhost-এর গ্রান্টস দেখানো

mysql> show grants for 'John'@'localhost';
+----------------------------------------------------------------------------------------------------------------------------------+
| Grants for John@localhost                                                                                                        |
+----------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, ... |
| GRANT BACKUP_ADMIN, BINLOG_ADMIN, ... ON *.* TO `John`@`localhost`                                                             |
+----------------------------------------------------------------------------------------------------------------------------------+

SHOW DATABASES পারমিশন রিভোক করা

mysql> revoke show databases on *.* from 'John'@'localhost';
Query OK, 0 rows affected (0.18 sec)

প্রভাব: এখন John@localhost ইউজার SHOW DATABASES কমান্ড চালালে শুধু যেসব ডেটাবেসে তার এক্সেস আছে, তেসবই দেখবে (নাকি এরর পাবে, কনফিগারেশন অনুযায়ী)। সিকিউরিটি হার্ডেনিং-এ এই পারমিশন রিমুভ করা ভালো প্র্যাকটিস।

  1. MySQL-এ VIEW-এর কন্টেন্ট দেখানো

  2. MySQL에서 VIEW(뷰) 생성하고 조회하기

  3. MySQL에서 GRANT SELECT ON *.*로 모든 데이터베이스 모든 테이블 읽기 권한 주기

  4. MySQL-এ সব ডেটাবেসের তালিকা দেখানো (information_schema)