一、概念了解
1、使用者概念
Mongodb的使用者是由 使用者名+所屬庫名組成
例如:
登入mongo testdb1 ,建立使用者testuser
<a href="mailto:br/"></a>
<a href="mailto:br/">2、角色概念 Mongodb的授權采用了角色授權的方法,每個角色包括一組權限。 Mongodb已經定義好了的角色叫内建角色,我們也可以自定義角色。 這兒主要介紹内建角色,Mongodb内建角色包括下面幾類: 讀寫權限: read/readWrite 讀寫庫的權限 資料庫管理角色: dbAdmin 某資料庫管理權限 userAdmin 某資料庫使用者的管理權限,包括建立使用者,授權的管理 dbOwner 某資料庫的所有者,擁有該庫的所有權限,包括readWrite,dbAdmin和userAdmin權限 叢集權限 : 備份和恢複角色: bakcup restore 所有資料庫角色: readAnyDatabase readWriteAnyDatabase dbAdminAnyDatabase userAdminAnyDatabase 超級使用者角色: root 内部角色 : __system 不建議使用</a>
<a href="mailto:br/">二、搭建認證環境和認證登入 1、找到mongodb配置檔案,設定noauth=true 重新開機Mongodb後,登入admin賬号,建立一個超級權限使用者 use admin db.createUser({user:'root',pwd:'root',roles:[{ "role" : "root", "db" : "admin" }]});</a>
<a href="mailto:br/">2、關閉mongodb</a>
<a href="mailto:br/">3、啟用認證參數 生成加密檔案,并将加密檔案拷貝到各節點 mkdir /usr/local/mongodb/keyfile openssl rand -base64 100 > /usr/local/mongodb/keyfile/key chmod -R 600 /usr/local/mongodb/keyfile/key 修改各節點配置配置檔案 auth = true keyFile = /usr/local/mongodb/keyfile/key</a>
<a href="mailto:br/">4、啟動Mongodb</a>
<a href="mailto:br/">5、認證登入</a>
<a href="mailto:br/">use admin switched to db admin db.auth('root','root')</a>
<a href="mailto:br/">1</a>
<a href="mailto:br/">use hong switched to db hong show collections; liujing system.users db.liujing.find(); { "_id" : ObjectId("56f255b77fa46acddeb4507b"), "name" : "liujing" }</a>
<a href="mailto:br/">三、使用者授權詳解 1、建立使用者并授權 文法:db.createUser({user:"UserName",pwd:"Password",roles:[{role:"RoleName",db:"Target_DBName"}]}) 首先選擇在哪個庫建立使用者,如test:use test; 建立使用者有3項需要提供:使用者名,密碼,角色清單 例如我要在test下面建立用testuser,密碼為testpwd,角色清單包括test庫的readWrite角色和userAdmin角色: db.createUser({user:"testuser",pwd:"testpwd",roles:[{role:"readWrite",db:"test"},{role:"userAdmin",db:"test"}]})</a>
<a href="mailto:br/">2、修改密碼 首先進入目标庫:use test db.changeUserPassword('testuser','testPWD');</a>
<a href="mailto:br/">3、添加角色 首先進入目标庫:use test db.grantRolesToUser( "testuser", [ { role: "read",db:"admin"} ] )</a>
<a href="mailto:br/">4、回收角色權限 首先進入目标庫:use test db.revokeRolesFromUser("testuser",[ { role: "read",db:"admin"} ] )</a>
<a href="mailto:br/">5、删除使用者 首先進入目标庫:use test db.dropUser("testuser")</a>
<a href="mailto:br/">四、注意事項</a>
<a href="mailto:br/">1、MongodbVOE版本太低,可能導緻遠端連接配接mongodb認證失敗,建議更新版本或者更換其它GUI工具 2、遠端連接配接Mongodb一定要把mongodb伺服器的防火牆打開,否則連接配接不上</a>
<a href="http://blog.51cto.com/wjlking/1792629">http://blog.51cto.com/wjlking/1792629</a>
本文轉自1321385590 51CTO部落格,原文連結:http://blog.51cto.com/linux10000/2061498,如需轉載請自行聯系原作者