mongodb 3 0 使用者角色

2021-07-14 12:18:11 字數 2367 閱讀 2756

詳情來自於官方:::   

mongodb 3.0 安全許可權訪問控制,在新增使用者上面3.0版本和之前的版本有很大的區別,這裡就說明下3.0的新增使用者的方法。

環境、測試:

在安裝mongodb之後,先關閉auth認證,進入檢視資料庫,只有乙個local庫,admin庫是不存在的:

root@zhoujinyi:/usr/local/mongo4# mongo --

port=27020

mongodb shell version:3.0.4connecting

to:127.0.0.1:27020/

test

2015-

06-29t09:31:08.673-

0400i control [

initandlisten

]>

show dbs;

local

0.078gb

現在需要建立乙個帳號,該賬號需要有grant許可權,即:賬號管理的授權許可權。注意一點,帳號是跟著庫走的,所以在指定庫里授權,必須也在指定庫里驗證(auth)。

>

useadmin

switched

todb admin

>

db.createuser(

...

]... }

... )

successfully added

user

:

]}

上面加粗的就是執行的命令:

user:使用者名稱

pwd:密碼

roles:指定使用者的角色,可以用乙個空陣列給新使用者設定空角色;在roles欄位,可以指定內建角色和使用者定義的角色。role裡的角色可以選:

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集合寫入,可以找指定資料庫裡建立、刪除和管理使用者

readanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權

readwriteanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權

useradminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的useradmin許可權

dbadminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbadmin許可權。

root:只在admin資料庫中可用。超級賬號,超級許可權

mongodb 使用者登陸是以基於資料庫的 例子如下:

db.createuser(]})

db.createuser(]})

db.createuser(]})

db.auth("lixiaomeng","isolxm123");

mongo --host 127.0.0.1 --authenticationdatabase admin -u lixiaomeng -p

mongoDB 3 0 安全許可權訪問

mongodb 3.0 訪問控制改了很多,需要你老老實實的去看文件去驗證,谷歌出來的多半就是錯誤的。還需要注意這個引數authenticationmechanisms。為了兼用2.6版本,我直接指定下面的引數 setparameter authenticationmechanisms mongodb...

mongoDB 3 0 安全許可權訪問控制

首先,不使用 auth 引數,啟動 mongodb mongodb linux i686 3.0.0 bin mongod f mongodb linux i686 3.0.0 mongodb.conf 此時你 show dbs 會看到只有乙個local資料庫,那個所謂的admin是不存在的。mon...

mongoDB 3 0 安全許可權訪問控制

首先,不使用 auth 引數,啟動 mongodb mongodb linux i686 3.0.0 bin mongod f mongodb linux i686 3.0.0 mongodb.conf 此時你 show dbs 會看到只有乙個local資料庫,那個所謂的admin是不存在的。mon...