mongodb啓用auth,使用密碼登陸

  • 更新操做: db.users.update({'currentVersion':3},{$set:{'currentVersion':5}})mongodb

  • 首先安裝下載(略過)數據庫

  • mongod 啓動服務,有多重啓動方式,另外可配置各類啓動參數  mongod --config "D:/mongodb/server/mongo.cfg"app

 mongod --dbpath "D:\mongodb\server\data\db"函數

  • show dbs
  • use admin
  • show tables
  1. 新建用戶 db.createUser({user:」帳號」,pwd:」密碼」,roles:[{「role」:」userAdmin」,」db」:」admin」},{「role」:」root」,」db」:」admin」},{「role」:」userAdminAnyDatabase」,」db」:」admin」}]})

Read:容許用戶讀取指定數據庫code

readWrite:容許用戶讀寫指定數據庫server

dbAdmin:容許用戶在指定數據庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profile索引

userAdmin:容許用戶向system.users集合寫入,能夠找指定數據庫裏建立、刪除和管理用戶it

clusterAdmin:只在admin數據庫中可用,賦予用戶全部分片和複製集相關函數的管理權限。io

readAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀權限table

readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀寫權限

userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的userAdmin權限

dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的dbAdmin權限。

root:只在admin數據庫中可用。超級帳號,超級權限(本次建立的就是超級帳號)

  • 對帳號受權:db.auth(「帳號」,」密碼」)

  • 重啓mongo 加上 --auth 參數

  • 此時如不使用用戶名密碼登陸,show dbs, 和 show tables 都無權限

  • 使用帳號密碼登陸:mongo -u admin -p 12345 localhost:27017/admin (該帳戶admin,雖然是admin庫中的用戶,可是具備全部數據庫的權限:userAdminAnyDatabase )

  • 如下爲mongo.cfg的簡單配置

dbpath=D:\mongodb\server\data\db 
logpath=D:\mongodb\server\log\mongo.log
logappend=true
port=27017
auth=true
相關文章
相關標籤/搜索