mongodb 學習筆記 05,mongodb學習筆記

來源:互聯網
上載者:User

mongodb 學習筆記 05,mongodb學習筆記
啟用認證

mongod 啟動預設沒有開啟許可權,你需要指定 –auth 啟動,或者在設定檔中設定security.authorization 為 “enabled”

建立使用者

db.createUser(user, writeConcern)

  • 文檔 http://docs.mongodb.org/manual/reference/method/db.createUser/#db.createUser

user格式

{ user: "<name>",  pwd: "<cleartext password>",  customData: { <any information> },  roles: [    { role: "<role>", db: "<database>" } | "<role>",    ...  ]}

writeConcern:

例如 {w: “majority”, j: true, wtimeout: 5000}

  • w選項:允許的值分別是 1、0、大於1的值、”majority”、;
  • j選項:確保mongod執行個體寫資料到磁碟上的journal(日誌),這可以確保mongd以外關閉不會遺失資料。設定true啟用。
  • wtimeout:指定一個時間限制,以毫秒為單位。wtimeout只適用於w值大於1。

Built-In Roles(內建角色):

  • 資料庫使用者角色:read、readWrite;
  • 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
  • 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  • 備份恢複角色:backup、restore;
  • 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超級使用者角色:root
    // 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
  • 內部角色:__system

creatUser例子

建立超級管理員

use admindb.createUser({    user:"username",    pwd:"password",    roles:["root"]})

在products資料庫建立accountAdmin01使用者,擁有readWrite許可權,對admin資料庫擁有clusterAdmin跟readAnyDatabase許可權

use productsdb.createUser( { "user" : "accountAdmin01",                 "pwd": "cleartext password",                 "customData" : { employeeId: 12345 },                 "roles" : [ { role: "clusterAdmin", db: "admin" },                             { role: "readAnyDatabase", db: "admin" },                             "readWrite"                             ] },               { w: "majority" , wtimeout: 5000 } )
登入
use collectionNamedb.auth("username",'password")
查看使用者
show users
刪除使用者
db.dropUser("username")
更改使用者密碼
db.changeUserPassword("username","password")
更新使用者
db.createUser(user, writeConcern)

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.