注意:本操作的mongodb版本為3.6.0-rc4,3.0之前的版本操作方法不一樣
db.system.users.find() //檢視使用者
db.system.users.remove({}) //刪除使用者
> use admin
switched to db admin
> db.system
.users
.find()
}, "roles" : [ ] }
> db.system
.users
.remove({})
writeresult()
> db.system
.users
.find()
>
注意一點,帳號是跟著庫走的,所以在指定庫里授權,必須也在指定庫里驗證(auth)。
//其中包含了授權哪個資料庫
> db.createuser(]})
successfully added user:
]}>
db.createuser(]})
測試使用者授權
> db.auth("admin","admin")
1>
為非admin資料庫新增賬戶
> use admin
switched to db admin
> db.auth('admin','amin')
error: authentication failed.
0> db.auth("admin","admin")
1> db.createuser(]})
successfully added user:
]}>
> use admin
switched to db admin
> db.auth('admin','admin')
1切換到指定的資料庫,然後在該資料庫下建立使用者才可以訪問該資料庫下資料
> use dbdata;
switched to db dbdata
> 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資料庫中可用。超級賬號,超級許可權
進入admin之後查詢使用者資訊
> db.system
.users
.find().pretty()
},"roles" : [
]} },
"roles" : [
]} },
"roles" : [
]}>
mongodb 3.x 使用者許可權控制-1
mongodb 3.x 使用者許可權控制-2
mongodb 3.0 使用者建立
MongoDB使用者管理
開啟mongodb服務時不新增任何引數時,預設是沒有許可權驗證的,登入的使用者可以對資料庫任意操作而且可以遠端訪問資料庫!在剛安裝完畢的時候mongodb都預設有乙個admin資料庫,此時admin資料庫是空的,沒有記錄許可權相關的資訊!當admin.system.users乙個使用者都沒有時,即使...
Mongodb使用者管理
使用者管理 預設不會驗證使用者名稱密碼。啟動時候新增 auth run with security 1.mongod auth 2.mongo無密碼登入到資料庫中。3.useadmin 切換到admin資料庫 4.db.adduser root 123 新增最高許可權使用者 5.db.auth ro...
MongoDB使用者管理
建立乙個超級使用者 use admin db.createuser 超級使用者的role有兩種,useradmin或者useradminanydatabase 比前一種多加了對所有資料庫的訪問 db是指定資料庫的名字,admin是管理資料庫。用新建立的使用者登入 mongo host u admin...