中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB用戶及權限管理(二):用戶管理

發布時間:2020-06-12 18:03:55 來源:網絡 閱讀:4303 作者:老書生 欄目:MongoDB數據庫


一、創建管理員賬號

  1. 下面開始創建一個帳號,該賬號需要有grant權限,即:賬號管理的授權權限。注意一點,帳號是跟著庫走的,所以在指定庫里授權,必須也在指定庫里驗證(auth)

> use admin

switched to db admin

> db.createUser(

{

    user:  "dba",

    pwd:  "dba",

    roles:  [ { role: "userAdminAnyDatabase", db: "admin" } ]

}

)

2.編輯mongodb配置文件,開啟驗證模塊

security:

    authorization: enabled

3.重啟mongod.

4.再次登錄mongodb

#mongo

> show dbs

2017-01-10T19:30:30.924+0800 E QUERY    [main] Error: listDatabases failed:{

         "ok" : 0,

         "errmsg" : "not authorized on admin to execute command  { listDatabases: 1.0 }",

         "code" : 13,

         "codeName" : "Unauthorized"

}

5.會報出如上錯誤,這是因為開啟auth模塊后,需要進行驗證。如果需要使用剛才創建的管理員賬戶,則需要到admin庫下進行驗證,1表示驗證成功。

>use admin

>db.auth('dba','dba')

1

6.驗證成功,再次執行命令:

> show dbs

admin  0.000GB

local  0.000GB

即可執行成功。


二、創建普通用戶賬號

userAdminAnyDatabase的角色具有在任何數據庫下創建用戶的權限,下面用剛剛創建的dba用戶創建普通用戶。

1.創建只讀賬號

use db1

db.createUser(

  {

      user:  "test1",

      pwd:  "test1",

       roles: [ { role: "read", db: "db1" } ]

  }

)

2.創建讀寫賬號

use db1

db.createUser(

  {

      user:  "test2",

      pwd:  "test2",

       roles: [ { role: "readWrite", db: "db1" } ]

  }

)

注意:只有在當前庫下創建的用戶才能在當前庫下進行驗證,如果在admin庫下創建的其他庫的用戶則需要在admin下進行驗證。


三、創建超級管理員用戶

MongoDBV3.0版本之后內置了root 角色,也就是結合了readWriteAnyDatabasedbAdminAnyDatabaseuserAdminAnyDatabaseclusterAdmin4個角色權限,類似于ORACLEsysdba角色,但是MongoDB的超級管理員用戶名稱是可以隨便定義的。當然如此高權限的用戶還是不建議使用。

db.createUser(

  {

      user:  "dbroot",

      pwd:  "dbroot",

       roles: [ { role: "root", db: "admin" } ]

  }

)


四、查看用戶信息

db.getUser("test1")

> db.getUser("test1")

{

         "_id" : "admin.test1",

         "user" : "test1",

         "db" : "admin",

        "roles" : [

                 {

                        "role" :  "clusterAdmin",

                        "db" :  "admin"

                 }

        ]

}


五、修改用戶信息

可修改用戶的如下信息:

角色、密碼、customData

db.updateUser( "test1",

{

     customData:{employeeID:"0x3039"},

         roles:[

               {role:"read",db:"admin"}

         ],

     pwd:"test1password"

}

)


六、修改用戶密碼

db.changeUserPassword("user","password")


七、刪除用戶

db.system.users.remove({user:"user1"});

db.dropUser("test1")


八、授權給用戶

原有權限不變的情況下,授予readWrite,read admin的權限:

db.grantRolesToUser(

   "test1",

   [  "readWrite",

      {  role: "read", db: "admin" }

   ]

)

 

九、回收權限

回收test1用戶的readWriteread admin的權限。

db.revokeRolesFromUser(

     "test1",

    [ {  role: "read", db: "admin" },

           "readWrite"

         ]

)


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南市| 托克逊县| 环江| 黑河市| 商丘市| 安吉县| 读书| 方城县| 西乡县| 威海市| 崇信县| 宁化县| 苍梧县| 房产| 原平市| 乳山市| 南雄市| 兴仁县| 阿图什市| 江源县| 平顺县| 阜阳市| 常德市| 宁津县| 诸暨市| 双城市| 北川| 云龙县| 芦山县| 梁平县| 乐陵市| 锡林浩特市| 唐河县| 丹凤县| 安图县| 永仁县| 赞皇县| 防城港市| 榆中县| 南宁市| 琼结县|