詳情來自於官方:::
mongodb 3.0 安全許可權訪問控制,在新增使用者上面3.0版本和之前的版本有很大的區別,這裡就說明下3.0的新增使用者的方法。
環境、測試:
在安裝mongodb之後,先關閉auth認證,進入檢視資料庫,只有乙個local庫,admin庫是不存在的:
root@zhoujinyi:/usr/local/mongo4# mongo --現在需要建立乙個帳號,該賬號需要有grant許可權,即:賬號管理的授權許可權。注意一點,帳號是跟著庫走的,所以在指定庫里授權,必須也在指定庫里驗證(auth)。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
>上面加粗的就是執行的命令: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:允許使用者讀取指定資料庫mongodb 使用者登陸是以基於資料庫的 例子如下:readwrite:允許使用者讀寫指定資料庫
dbadmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile
useradmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和管理使用者
readanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權
readwriteanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權
useradminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的useradmin許可權
dbadminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbadmin許可權。
root:只在admin資料庫中可用。超級賬號,超級許可權
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...