mongoDB中的用戶角色管理,及yapi的搭建
參考博客
mongoDB忘記密碼如何設置
mongoDB中用戶的權限管理
YAPI的搭建步驟
解決CentOS部署項目後一斷開遠程連接就訪問不了項目的問題
創建admin用戶具體操作步驟
- 註釋mongod.conf中的權限驗證,然後重啓mongo服務
- 在mongodb的bin目錄下執行以下命令
執行下面的操作去重新建立admin用戶
// An highlighted block
./mongo --port 27017
use admin
db.system.users.find()
db.dropUser("admin")
db.system.users.remove({user:"admin"})
db.createUser({user:"admin",pwd:"yourpass",roles:["readWrite"]})
db.grantRolesToUser("admin",[{ role: "clusterAdmin", db: "admin" }]);
db.grantRolesToUser("admin",[{ role: "userAdminAnyDatabase", db: "admin" }]);
- 然後重啓mongo服務
給某個數據庫創建普通用戶具體操作步驟
use dbname
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "readWrite", db: "dbname" } ]
}
)
db.auth("username","password")
此時 show collections 可以查看集合。
用戶名密碼驗證登錄方式
./mongo -u username -p jpassword 127.0.0.1:27017/dbname
mongo roles權限說明
Built-In Roles(內置角色):
1. 數據庫用戶角色:read、readWrite;
2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級用戶角色:root
// 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system
具體角色:
Read:允許用戶讀取指定數據庫
readWrite:允許用戶讀寫指定數據庫
dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和複製集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級賬號,超級權限。
剛建立了 userAdminAnyDatabase 角色,用來管理用戶,可以通過這個角色來創建、刪除用戶。
Yapi 搭建
需要安裝 nodejs/ git/ mongodb
參考地址 https://www.jianshu.com/p/5bda5556c149
CentOS斷開遠程連接後服務就訪問不了的問題
-
安裝Screen:
yum -y install screen -
使用 screen 原本的命令,既 screen npm start
-
殺死進程命令
screen -ls #顯示所有的screen作業的名字和進程號
kill [進程號] #關掉相應進程號的進程