阿里雲RDS的高許可權不是真正的高許可權
阿里雲RDS的高許可權不是真正的高許可權
如下圖所示在阿里雲RDS中升級到了“高許可權賬號”
但是在實際操作中發現grant
賦權失敗,奇怪的是報錯ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
這個錯誤一般是因為密碼的問題,但是這裡能成功登陸密碼肯定沒有問題
那就繼續排查啥情況
1、先看看當前這個使用者的許可權 root@'%'
MySQL [(none)]> show grants for root;
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@% |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'%' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
看上去好像沒有問題
2、看看系統都有哪些使用者
MySQL [(none)]> select user,host from mysql.user ;
+---------------+-----------+
| user | host |
+---------------+-----------+
| demo1 | % |
| rds_service | % |
| root | % |
| zabbix | % |
| zentaopms | % |
| aliyun_root | 127.0.0.1 |
+---------------+-----------+
14 rows in set (0.00 sec)
發現除了 高許可權root
外還有個一個aliyun_root
3、排查這個使用者許可權看看
MySQL [(none)]> show grants for aliyun_root@'127.0.0.1';
+----------------------------------------------------------------------------+
| Grants for aliyun_root@127.0.0.1 |
+----------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'aliyun_root'@'127.0.0.1' WITH GRANT OPTION |
+----------------------------------------------------------------------------+
1 row in set (0.00 sec)
all privileges
這個使用者才是我們一般認為的真正的高許可權root,擁有 所有許可權。
疑問
那麼疑問出來了。阿里雲給定的高許可權和all privileges
之間存在差異。
驗證
具體驗證過程可以參考另外一篇文章
驗證之後發現 *.*
上面的 all privileges
和這裡阿里雲給定的高許可權賬號
之間的許可權是存在差異的;
阿里雲給定的高許可權賬號
實際缺少了SHUTDOWN, FILE, SHOW DATABASES, SUPER, CREATE TABLESPACE
幾個許可權。
所以你在賦權的時候使用all privileges
但是實際你是沒有上面幾個許可權的。所以出現了上面的錯誤
相關文章
- 雲端計算學習路線教程,檔案許可權管理高階許可權
- 許可權之選單許可權
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- Linux的檔案存取許可權和0644許可權Linux
- 許可權系統:一文搞懂功能許可權、資料許可權
- 【自然框架】許可權的視訊演示(二):許可權到欄位、許可權到記錄框架
- Linux特殊許可權之suid、sgid、sbit許可權LinuxUI
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- Linux的許可權控制Linux
- Linux許可權Linux
- 許可權控制
- mysql許可權MySql
- DRF比Django的認證和許可權高在哪裡Django
- 選單許可權和按鈕許可權設定
- android動態許可權到自定義許可權框架Android框架
- Android6.0------許可權申請管理(單個許可權和多個許可權申請)Android
- 許可權系統:許可權應用服務設計
- SpringSecurity許可權管理系統實戰—九、資料許可權的配置SpringGse
- mongodb 的許可權系統MongoDB
- Linux 下許可權的管理Linux
- Linux 中的許可權管理Linux
- fastadmin的許可權管理authAST
- Android 通知許可權Android
- Android SELinux許可權AndroidLinux
- 4、許可權管理
- sql許可權管理SQL
- RBAC許可權管理
- 許可權管控
- MySQL許可權管理MySql
- Linux 特殊許可權Linux
- odoo 許可權分配Odoo
- 許可權管理策略
- Shiro許可權框架框架
- 許可權模型:ACL模型
- 許可權設計
- PostgreSQL:許可權管理SQL
- Odoo許可權管理Odoo