最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
mongoduserandrolemanagement-創(chuàng)新互聯(lián)

一、用戶(hù)驗(yàn)證

創(chuàng)新互聯(lián)建站長(zhǎng)期為1000多家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍華企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)龍華網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

 --auth: 在mongod啟動(dòng)項(xiàng)中加入--auth,mongodb啟動(dòng)后,就可以完成授權(quán)模塊的啟用;

  雖然auth模塊啟用后本機(jī)還能否登陸到數(shù)據(jù)庫(kù),但是不具備增刪改查的權(quán)限了,所以啟動(dòng)auth模塊之前就應(yīng)該創(chuàng)建一個(gè)超級(jí)用戶(hù)

 --keyFile :主要用于分片集群與副本集相互之間的授權(quán)使用,在單機(jī)情況下只要用到auth,如果是在集群(分片+副本集)環(huán)境下,就

必須要用到該參數(shù);

 可以通過(guò)配置文件控制,控制語(yǔ)句如下:

  security.authorization 功能更auth完全相同。在MongoDB 2.6版本開(kāi)始,mongod/mongos的啟動(dòng)配置文件增加了YAML格式的寫(xiě)法,例:

security:    authorization: enabled

  security.keyFile 功能與--keyFile相同。在MongoDB 2.6版本開(kāi)始,mongod/mongos的啟動(dòng)配置文件增加了YAML格式的寫(xiě)法,例:

security:    keyFile: /srv/mongodb/keyfile

    mongdb在V3.0版本之后內(nèi)置了root 角色,也就是結(jié)合了readWriteAnyDatabase、dbAdminAnyDatabase 、userAdminAnyDatabase、clusterAdmin 4個(gè)角色權(quán)限,類(lèi)似于Oracle的sysdba角色,但是MongoDB的超級(jí)管理員用戶(hù)名稱(chēng)是可以隨便定義的:

    > use admin     switched to db admin     > db.createUser(     ...    {     ...      user: "ljaiadmin",     ...      pwd: "123456",     ...     roles: [ { role: "root", db: "admin" } ]     ...   }     ... )

重啟完mongod進(jìn)程后,接下來(lái)做一下權(quán)限的驗(yàn)證:

> use admin switched to db admin > db.auth('ljaiadmin','123456')     (注:切換到admin用戶(hù)進(jìn)行授權(quán)驗(yàn)證) 1 > show dbs  > use admin switched to db admin > show users

 創(chuàng)建普通用戶(hù):

use reporting db.createUser(    {         user: "reportsUser",         pwd: "12345678",         roles: [            { role: "read", db: "reporting" },            { role: "read", db: "products" },            { role: "read", db: "sales" },            { role: "readWrite", db: "accounts" }         ]       }     )

二、角色

(1).數(shù)據(jù)庫(kù)用戶(hù)角色

 針對(duì)每一個(gè)數(shù)據(jù)庫(kù)進(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ù)庫(kù)管理角色

 每一個(gè)數(shù)據(jù)庫(kù)包含了下面的數(shù)據(jù)庫(kù)管理角色。

 dbOwner:該數(shù)據(jù)庫(kù)的所有者,具有該數(shù)據(jù)庫(kù)的全部權(quán)限。

 dbAdmin:一些數(shù)據(jù)庫(kù)對(duì)象的管理操作,但是沒(méi)有數(shù)據(jù)庫(kù)的讀寫(xiě)權(quán)限。(參考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin)

 userAdmin:為當(dāng)前用戶(hù)創(chuàng)建、修改用戶(hù)和角色。擁有userAdmin權(quán)限的用戶(hù)可以將該數(shù)據(jù)庫(kù)的任意權(quán)限賦予任意的用戶(hù)。

    

(3).集群管理權(quán)限

 admin數(shù)據(jù)庫(kù)包含了下面的角色,用戶(hù)管理整個(gè)系統(tǒng),而非單個(gè)數(shù)據(jù)庫(kù)。這些權(quán)限包含了復(fù)制集和共享集群的管理函數(shù)。

 clusterAdmin:提供了大的集群管理功能。相當(dāng)于clusterManager, clusterMonitor, and hostManager和dropDatabase的權(quán)限組合。

 clusterManager:提供了集群和復(fù)制集管理和監(jiān)控操作。擁有該權(quán)限的用戶(hù)可以操作config和local數(shù)據(jù)庫(kù)(即分片和復(fù)制功能)

 clusterMonitor:僅僅監(jiān)控集群和復(fù)制集。

 hostManager:提供了監(jiān)控和管理服務(wù)器的權(quán)限,包括shutdown節(jié)點(diǎn),logrotate, repairDatabase等。

 備份恢復(fù)權(quán)限:admin數(shù)據(jù)庫(kù)中包含了備份恢復(fù)數(shù)據(jù)的角色。包括backup、restore等等。

    

(4).所有數(shù)據(jù)庫(kù)角色

 admin數(shù)據(jù)庫(kù)提供了一個(gè)mongod實(shí)例中所有數(shù)據(jù)庫(kù)的權(quán)限角色:

 readAnyDatabase:具有read每一個(gè)數(shù)據(jù)庫(kù)權(quán)限。但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)。

 readWriteAnyDatabase:具有readWrite每一個(gè)數(shù)據(jù)庫(kù)權(quán)限。但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)。

 userAdminAnyDatabase:具有userAdmin每一個(gè)數(shù)據(jù)庫(kù)權(quán)限,但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)。

 dbAdminAnyDatabase:提供了dbAdmin每一個(gè)數(shù)據(jù)庫(kù)權(quán)限,但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)。

(5).超級(jí)管理員權(quán)限

 root: dbadmin到admin數(shù)據(jù)庫(kù)、useradmin到admin數(shù)據(jù)庫(kù)以及UserAdminAnyDatabase。但它不具有備份恢復(fù)、直接操作system.*集合的權(quán)限,但是擁有root權(quán)限的超級(jí)用戶(hù)可以自己給自己賦予這些權(quán)限。

(6).備份恢復(fù)角色:backup、restore

(7).內(nèi)部角色:__system

三、相關(guān)命令

 除了 db.createUser(), 下面幾個(gè)函數(shù)也是常用的:

 創(chuàng)建角色: db.createRole()

 更新角色:db.updateRole()

 刪除角色:db.dropRole()

 獲得某個(gè)角色信息:  db.getRole()

 更改密碼:db.changeUserPassword("userName","newPwd")

獲得“當(dāng)前數(shù)據(jù)庫(kù)”的所有用戶(hù)權(quán)限信息:db.getUsers()

 獲得“某個(gè)指定用戶(hù)”的權(quán)限信息:db.getUser("userName")

 例:

> use company switched to db company > db.createUser( ... {user:"user01",pwd:"123", ... roles:[{"role":"readWrite",db:"company"}] ... }) Successfully added user: { "user" : "user01", "roles" : [ { "role" : "readWrite", "db" : "company" } ] } > db.getUsers()       #查看當(dāng)前DB的users   .............. > db.auth("user01","123") 1 > db.changeUserPassword("user01","456")   #更改用戶(hù)密碼 > db.auth("user01","456") 1 >

 刪除用戶(hù):db.dropUser()

 例:

> use company switched to db company > db.dropUser("user01")     #刪除當(dāng)前庫(kù)的user true >

 刪除所有用戶(hù):   db.dropAllUsers()

 將指定角色賦予給用戶(hù):

   db.grantRolesToUser("userName",[ {"role":"roleName1","db":"dbName"},{"role":"roleName2","db":"dbName"}... ])

 撤銷(xiāo)某個(gè)用戶(hù)的某個(gè)角色權(quán)限:

   db.revokeRolesFromUser("userName",[ {"role":"roleName1","db":"dbName"},{"role":"roleName2","db":"dbName"}... ])

四、實(shí)例:

[root@meteor ~]# service mongod start

Starting mongod:                      [確定]

[root@meteor ~]# mongo localhost:27027

MongoDB shell version: 3.2.8

connecting to: localhost:27027/test

Server has startup warnings:

use admin

switched to db admin

db.createUser(

... {user:"admin",pwd:"123456",

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

... })

Successfully added user: {

"user" : "admin",

"roles" : [

{

"role" : "root",

"db" : "admin"

}  ]  }

use person

switched to db person

db.p1.insert({name:"thompson",gender:"male",age:"24"})

WriteResult({ "nInserted" : 1 })

db.p1.find()

{ "_id" : ObjectId("57a2a28aa6d4803a1c952529"), "name" : "thompson", "gender" : "male", "age" : "24" }

> exit

bye

[root@meteor ~]# mongo localhost:27027

MongoDB shell version: 3.2.8

connecting to: localhost:27027/test

show dbs;

admin  0.000GB

local  0.000GB

person  0.000GB

> exit

bye

[root@meteor ~]# vim /etc/mongod.conf

[root@meteor ~]# sed -n '32,33p' /etc/mongod.conf    需要開(kāi)啟認(rèn)證功能

security:

 authorization: enabled

[root@meteor ~]# service mongod restart   修改完配置文件后必須重新啟動(dòng)才能生效

Stopping mongod:                      [確定]

Starting mongod:                      [確定]

[root@meteor ~]# mongo localhost:27027

MongoDB shell version: 3.2.8

connecting to: localhost:27027/test

> show dbs        如果未認(rèn)證,系統(tǒng)提示錯(cuò)誤

2016-08-04T10:06:08.491+0800 E QUERY   [thread1] Error: listDatabases failed:{

"ok" : 0,

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

"code" : 13

} :

_getErrorWithCode@src/mongo/shell/utils.js:25:13

Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1

shellHelper.show@src/mongo/shell/utils.js:761:19

shellHelper@src/mongo/shell/utils.js:651:15

@(shellhelp2):1:1

> use admin

switched to db admin

> db.auth("admin","123456")        認(rèn)證

1

> use person

switched to db person

> db.createUser(                            創(chuàng)建新用戶(hù)

... {user:"person",pwd:"123",

... roles:[{role:"readWrite",db:"person"}]

... })

Successfully added user: {

"user" : "person",

"roles" : [

{

"role" : "readWrite",

"db" : "person"

}  ]  }

> use admin

switched to db admin

> db.system.users.find()

{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "KFiaKAkrDqCJ/H8uIIhwzA==", "storedKey" : "faWxuPj1hZ4jV3VhL9Z0zylBL0Y=", "serverKey" : "qYSi5BRZY/GPTuBeF60KCvB5dqg=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

{ "_id" : "person.person", "user" : "person", "db" : "person", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "0tRiioYKdcx+On3uXgR/Sw==", "storedKey" : "8M69xFSgqniSeU7uvLqpzaclECs=", "serverKey" : "Znu2x5fAzMgrMKlxpj2I//1lcWc=" } }, "roles" : [ { "role" : "readWrite", "db" : "person" } ] }

> use person

switched to db person

db.grantRolesToUser("person",[{role:"dbAdmin",db:"person"}])為用戶(hù)附加其它角色

> use admin

switched to db admin

> db.system.users.find()

{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "KFiaKAkrDqCJ/H8uIIhwzA==", "storedKey" : "faWxuPj1hZ4jV3VhL9Z0zylBL0Y=", "serverKey" : "qYSi5BRZY/GPTuBeF60KCvB5dqg=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

{ "_id" : "person.person", "user" : "person", "db" : "person", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "0tRiioYKdcx+On3uXgR/Sw==", "storedKey" : "8M69xFSgqniSeU7uvLqpzaclECs=", "serverKey" : "Znu2x5fAzMgrMKlxpj2I//1lcWc=" } }, "roles" : [ { "role" : "dbAdmin", "db" : "person" }, { "role" : "readWrite", "db" : "person" } ] }

> use person

switched to db person

db.revokeRolesFromUser("person",[{role:"dbAdmin",db:"person"}])用戶(hù)角色回收

> use admin

switched to db admin

> db.system.users.find()

{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "KFiaKAkrDqCJ/H8uIIhwzA==", "storedKey" : "faWxuPj1hZ4jV3VhL9Z0zylBL0Y=", "serverKey" : "qYSi5BRZY/GPTuBeF60KCvB5dqg=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

{ "_id" : "person.person", "user" : "person", "db" : "person", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "0tRiioYKdcx+On3uXgR/Sw==", "storedKey" : "8M69xFSgqniSeU7uvLqpzaclECs=", "serverKey" : "Znu2x5fAzMgrMKlxpj2I//1lcWc=" } }, "roles" : [ { "role" : "readWrite", "db" : "person" } ] }

> exit

參考:https://docs.mongodb.com/manual/tutorial/create-users/

         https://docs.mongodb.com/manual/reference/configuration-options/#security.authorization

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


新聞名稱(chēng):mongoduserandrolemanagement-創(chuàng)新互聯(lián)
瀏覽路徑:http://fisionsoft.com.cn/article/dcoppe.html