阿里雲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
但是實際你是沒有上面幾個許可權的。所以出現了上面的錯誤
相關文章
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- AIX 的許可許可權(轉)AI
- 許可權之選單許可權
- 雲端計算學習路線教程,檔案許可權管理高階許可權
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- Linux-許可權管理(ACL許可權)Linux
- 【自然框架】許可權的視訊演示(二):許可權到欄位、許可權到記錄框架
- Android系統許可權和root許可權Android
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- Linux的檔案存取許可權和0644許可權Linux
- 擁有GRANT ANY OBJECT PRIVILEGE許可權時的許可權回收Object
- mysql許可權MySql
- MySQL 許可權MySql
- ORACLE許可權Oracle
- DRF比Django的認證和許可權高在哪裡Django
- 物件許可權的回收物件
- Linux 許可權管理之目錄許可權限制Linux
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- 【LIUNX】目錄或檔案許可權,許可權授予
- Guest許可權突破——許可權提升方法總結(轉)
- 對定義者許可權和呼叫者許可權的理解
- Android6.0------許可權申請管理(單個許可權和多個許可權申請)Android
- android動態許可權到自定義許可權框架Android框架
- Atitit godaddy 檔案許可權 root許可權設定Go
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- 使用者許可權繼承另一使用者的許可權繼承
- 系統許可權傳遞和物件許可權傳遞的測試物件
- 檢視角色裡包含的系統許可權、物件許可權和角色物件
- vue router 許可權Vue
- PostgreSQL:許可權管理SQL
- 許可權模型:ACL模型
- 許可權修改命令
- Elasticsearch 許可權控制Elasticsearch
- Mysql——許可權管理MySql
- oracle 許可權集合Oracle
- Mysql 許可權管理MySql
- Linux許可權Linux