程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> 淺析MongoDB用戶管理

淺析MongoDB用戶管理

編輯:MongoDB綜合知識

1. 創建一個超級用戶

use admin
db.createUser(
  {
    user: "adminUserName",
    pwd: "userPassword",
    roles:
    [
      {
        roles: "userAdminAnyDatabase",
        db: "admin"
      }
    ]
  }
)

超級用戶的role有兩種,userAdmin或者userAdminAnyDatabase(比前一種多加了對所有數據庫的訪問)。

db是指定數據庫的名字,admin是管理數據庫。

2. 用新創建的用戶登錄

mongo --host xxx -u adminUserName -p userPassword --authenticationDatabase admin

3. 查看當前用戶的權限

db.runCommand(
  {
    usersInfo:"userName",
    showPrivileges:true
  }
)

4. 創建一般用戶,也是用createUser

use db01
db.createUser(
  {
    user:"oneUser",
    pwd:"12345",
    roles:[
      {role:"read",db:"db01"},
      {role:"read",db:"db02"},
      {role:"read",db:"db03"}
    ]
  }
)

5. 創建一個不受訪問限制的超級用戶

use admin
db.createUser(
  {
    user:"superuser",
    pwd:"pwd",
    roles:["root"]
  }
)

6. 修改密碼

use admin
db.changeUserPassword("username", "xxx")

7. 查看用戶信息

db.runCommand({usersInfo:"userName"})

8. 修改密碼和用戶信息

db.runCommand(
  {
    updateUser:"username",
    pwd:"xxx",
    customData:{title:"xxx"}
  }
)

注:

1. 和用戶管理相關的操作基本都要在admin數據庫下運行,要先use admin;

2. 如果在某個單一的數據庫下,那只能對當前數據庫的權限進行操作;

3. db.addUser是老版本的操作,現在版本也還能繼續使用,創建出來的user是帶有root role的超級管理員。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved