1、創(chuàng)建角色
連接數(shù)據(jù)庫屏鳍,在admin集合中新增一個(gè)用戶
db.createUser({
user: 'admin',
pwd: 'admin',
roles: [{role: 'root', db: 'admin'}]
})
user是用戶名,pwd是密碼局服, roles是角色钓瞭。
role: 'root'表示超級(jí)管理員,
db表示可以操作的數(shù)據(jù)庫
2淫奔、修改配置文件:開啟權(quán)限驗(yàn)證
找到安裝目錄
找到配置文件 mongodb.cfg
增加一句
#security:
security:
authorization: enabled
3山涡、重啟mongoDb服務(wù)
我的電腦 >> 管理 >> 服務(wù)和應(yīng)用程序 >> 服務(wù) >> 找到mongoDb(鍵盤直接輸入mong就能直接指向它)
右擊重啟服務(wù),等待重啟完成即可
4唆迁、重新連接mongoDb
此時(shí)連接輸入用戶名和密碼
mongo -u username -p password
遠(yuǎn)程數(shù)據(jù)庫連接
mongo 192.168.1.1:12702/test -u username -p password
MongoDB 內(nèi)置角色
(1).數(shù)據(jù)庫用戶角色
針對(duì)每一個(gè)數(shù)據(jù)庫進(jìn)行控制鸭丛。
**read **:提供了讀取所有非系統(tǒng)集合,以及系統(tǒng)集合中的system.indexes, system.js, system.namespaces readWrite: 包含了所有read權(quán)限唐责,以及修改所有非系統(tǒng)集合的和系統(tǒng)集合中的system.js的權(quán)限.
(2).數(shù)據(jù)庫管理角色
每一個(gè)數(shù)據(jù)庫包含了下面的數(shù)據(jù)庫管理角色鳞溉。
dbOwner:該數(shù)據(jù)庫的所有者,具有該數(shù)據(jù)庫的全部權(quán)限鼠哥。
dbAdmin:一些數(shù)據(jù)庫對(duì)象的管理操作熟菲,但是沒有數(shù)據(jù)庫的讀寫權(quán)限。(參考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin)
userAdmin:為當(dāng)前用戶創(chuàng)建朴恳、修改用戶和角色抄罕。擁有userAdmin權(quán)限的用戶可以將該數(shù)據(jù)庫的任意權(quán)限賦予任意的用戶。
(3).集群管理權(quán)限
admin數(shù)據(jù)庫包含了下面的角色于颖,用戶管理整個(gè)系統(tǒng)呆贿,而非單個(gè)數(shù)據(jù)庫。這些權(quán)限包含了復(fù)制集和共享集群的管理函數(shù)森渐。
clusterAdmin:提供了最大的集群管理功能做入。相當(dāng)于clusterManager, clusterMonitor, and hostManager和dropDatabase的權(quán)限組合。
clusterManager:提供了集群和復(fù)制集管理和監(jiān)控操作章母。擁有該權(quán)限的用戶可以操作config和local數(shù)據(jù)庫(即分片和復(fù)制功能)
clusterMonitor:僅僅監(jiān)控集群和復(fù)制集母蛛。
hostManager:提供了監(jiān)控和管理服務(wù)器的權(quán)限,包括shutdown節(jié)點(diǎn)乳怎,logrotate, repairDatabase等彩郊。
備份恢復(fù)權(quán)限:admin數(shù)據(jù)庫中包含了備份恢復(fù)數(shù)據(jù)的角色前弯。包括backup、restore等等秫逝。
(4).所有數(shù)據(jù)庫角色
admin數(shù)據(jù)庫提供了一個(gè)mongod實(shí)例中所有數(shù)據(jù)庫的權(quán)限角色:
readAnyDatabase:具有read每一個(gè)數(shù)據(jù)庫權(quán)限恕出。但是不包括應(yīng)用到集群中的數(shù)據(jù)庫。
readWriteAnyDatabase:具有readWrite每一個(gè)數(shù)據(jù)庫權(quán)限违帆。但是不包括應(yīng)用到集群中的數(shù)據(jù)庫浙巫。
userAdminAnyDatabase:具有userAdmin每一個(gè)數(shù)據(jù)庫權(quán)限,但是不包括應(yīng)用到集群中的數(shù)據(jù)庫刷后。
dbAdminAnyDatabase:提供了dbAdmin每一個(gè)數(shù)據(jù)庫權(quán)限的畴,但是不包括應(yīng)用到集群中的數(shù)據(jù)庫。
(5). 超級(jí)管理員權(quán)限
root: dbadmin到admin數(shù)據(jù)庫尝胆、useradmin到admin數(shù)據(jù)庫以及UserAdminAnyDatabase丧裁。但它不具有備份恢復(fù)、直接操作system.*集合的權(quán)限含衔,但是擁有root權(quán)限的超級(jí)用戶可以自己給自己賦予這些權(quán)限煎娇。