安裝最新版本的rabbitmq(3.3.1),並啟用management plugin後,使用預設的賬號guest登陸管理控制檯,卻提示登陸失敗。
翻看官方的release文件後,得知由於賬號guest具有所有的操作許可權,並且又是預設賬號,出於安全因素的考慮,guest使用者只能通過localhost登陸使用,並建議修改guest使用者的密碼以及新建其他賬號管理使用rabbitmq(該功能是在3.3.0版本引入的)。
雖然可以以比較猥瑣的方式:將ebin目錄下rabbit.app中loopback_users裡的<<"guest">>刪除,
並重啟rabbitmq,可通過任意IP使用guest賬號登陸管理控制檯,但始終是違背了設計者的初衷,再加上以前對這一塊瞭解也不多,因此有必要總結一下。
1. 使用者管理
使用者管理包括增加使用者,刪除使用者,檢視使用者列表,修改使用者密碼。
相應的命令
(1) 新增一個使用者
rabbitmqctl add_user Username Password
(2) 刪除一個使用者
rabbitmqctl delete_user Username
(3) 修改使用者的密碼
rabbitmqctl change_password Username Newpassword
(4) 檢視當前使用者列表
rabbitmqctl list_users
2. 使用者角色
按照個人理解,使用者角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。
(1) 超級管理員(administrator)
可登陸管理控制檯(啟用management plugin的情況下),可檢視所有的資訊,並且可以對使用者,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制檯(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程式數,記憶體使用情況,磁碟使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制檯(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框標識的部分)。
與administrator的對比,administrator能看到這些內容
(4) 普通管理者(management)
僅可登陸管理控制檯(啟用management plugin的情況下),無法看到節點資訊,也無法對策略進行管理。
(5) 其他
無法登陸管理控制檯,通常就是普通的生產者和消費者。
瞭解了這些後,就可以根據需要給不同的使用者設定不同的角色,以便按需管理。
設定使用者角色的命令為:
rabbitmqctl set_user_tags User Tag
User為使用者名稱, Tag為角色名(對應於上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。
也可以給同一使用者設定多個角色,例如
rabbitmqctl set_user_tags hncscwc monitoring policymaker
3. 使用者許可權
使用者許可權指的是使用者對exchange,queue的操作許可權,包括配置許可權,讀寫許可權。配置許可權會影響到exchange,queue的宣告和刪除。讀寫許可權影響到從queue裡取訊息,向exchange傳送訊息以及queue和exchange的繫結(bind)操作。
例如: 將queue繫結到某exchange上,需要具有queue的可寫許可權,以及exchange的可讀許可權;向exchange傳送訊息需要具有exchange的可寫許可權;從queue裡取資料需要具有queue的可讀許可權。詳細請參考官方文件中"How permissions work"部分。
相關命令為:
(1) 設定使用者許可權
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
(2) 檢視(指定hostpath)所有使用者的許可權資訊
rabbitmqctl list_permissions [-p VHostPath]
(3) 檢視指定使用者的許可權資訊
rabbitmqctl list_user_permissions User
(4) 清除使用者的許可權資訊
rabbitmqctl clear_permissions [-p VHostPath] User
===============================
rabbitmq的web管理介面無法使用guest使用者登入
相關文章
- ubuntu14.04禁用guest使用者登入Ubuntu
- rabbitmq 重啟之後無法登入MQ
- SYS使用者可以登入,其他使用者無法登陸的問題處理
- MYSQL建立使用者後本地無法登入的原因MySql
- MFC 之使用者登入介面
- solaris預設無法遠端root使用者登入
- 很漂亮的Flex 使用者登入介面Flex
- DELL伺服器IPMI管理介面無法登入問題解決伺服器
- Ubuntu 16.04無法登入圖形介面Ubuntu
- 遠端無法登入管理頁面
- Solaris10所有使用者無法登陸CDE及JAVA介面Java
- 使用者登入管理的幾個命令
- Ubuntu如何隱藏登入介面使用者Ubuntu
- Java Web實現使用者登入功能JavaWeb
- kali linux 2020.3無法使用root使用者登陸GUI介面LinuxGUI
- OpenSSH普通使用者無法登入的幾種情況的解決方法
- RabbitMQ管理介面MQ
- extmail/extman登入介面無法顯示的故障解決薦AI
- K8Sdashboard登入問題(chrome無法訪問以及使用使用者名稱和密碼登入)K8SChrome密碼
- win10使用者在登入介面顯示使用者列表Win10
- SecureCRT 通過Xmanager 開啟圖形介面(root使用者登入後,su登入oracle使用者)SecurecrtOracle
- 使用者登入前臺之後,無法退出如何解決?謝謝
- sql無法開啟使用者預設資料庫,登入失敗,使用者‘sa’登入失敗,錯誤:4064的解決方法SQL資料庫
- Vue的動態選單無法登入(無法載入選單)Vue
- QQ使用者登陸介面
- RabbitMQ使用教程(二)RabbitMQ使用者管理,角色管理及許可權設定MQ
- [譯]React中的使用者認證(登入態管理)React
- 新浪UC無法登入的解決辦法
- VMware Server Web介面無法開啟ServerWeb
- win10 登入介面的使用者怎麼隱藏_如何在win10登入介面登入隱藏帳戶Win10
- jive3.1.1和jive3.1.3的admin管理無法登入!
- root使用者ssh無法登陸到伺服器伺服器
- CentOS 6.2圖形介面允許root使用者登入CentOS
- 使Activity只存在一個例項(解決微信登入 原有登入介面無法關閉)
- win10 guest賬戶不能登入怎麼設定_win10 guest賬戶不能登入如何修復Win10
- Win10使用工具更換登入介面桌布後無法進入桌面的解決方法Win10
- 基於gin的golang web開發:實現使用者登入GolangWeb
- Deutsche Bank:Twitter每月未登入使用者是登入使用者的兩倍