MongoDB自學日記2——權限

       首先應該明確的是爲何要學MongoDB。OK,若是是僅僅出於對於流行技術的原始興趣,可能並不能深刻學習,還必須有應用需求。剛開始學習MongoDB,由於之前對其它數據庫的瞭解也不是特別深刻,因此許多概念和原理須要梳理。html

  本節主要是學習訪問控制權限的問題。第一步就須要建立用戶,手頭有一些mongodb的文檔,然而估計是出版時間和版本太老了,基本都說用db.addUser建立用戶,結果執行不成功。緣由在於我所使用的mongodb版本是3.0.6,而從2.6版本起已經deprecated了addUser這個方法,取而代之的是createUser(看來仍是得多看官方手冊)。mongodb

       1.鏈接上數據庫後,切換到admin數據庫。mongodb默認會有一個admin數據庫,建立用戶須要使用這個數據庫。數據庫

>use admin

       2.建立一個具備root權限的用戶服務器

 >db.createUser( {    user:"username",    pwd:"123456",    roles:["root"]  } )

  3.更改用戶密碼學習

>db.changeUserPassword("username","newpassword");

  4.查看用戶信息ui

>db.runCommand({userInfo:"username"}) { "ok" : 0, "errmsg" : "no such command: userInfo", "code" : 59, "bad cmd" : { "userInfo" : "username" } }

  5.登陸spa

$mongo  -u username -p password --authenticationDatabase admin

  6.驗證用戶,auth方法驗證經過返回數值1,錯誤返回0。.net

>db.auth("username","password");

  7.查看當前用戶擁有權限code

>db.runCommand( { usersInfo:"username", showPrivileges:true } )

  有了root用戶之後,能夠進一步增長一些普通用戶,好比只有只讀權限。htm

> db.createUser({ user:'xiaoh', pwd:'123456', roles:[ 'read', 'dbAdminAnyDatabase'] } )

 

  咱們還能夠爲服務器綁定IP和端口,這樣在服務端限定了可以訪問mongodb的IP和端口。

$mongod  --bind_ip  192.168.1.28   --port  28018

  

  先寫這麼多吧,最後附上最近的一幅我的習做(被《黑客與畫家》洗過腦...)。立個Flag在這裏吧,之後每篇文章都得帶一幅手繪不然不發,若哪次食言則請全部留言的網友吃飯。

 

 

  一手畫筆,一手代碼

  行走江湖,笑傲天涯

 

 

 

 

References:

1.《深刻學習MongoDB》

2.《MongoDB權威指南》

 

Links:

1.https://docs.mongodb.org/master/reference/built-in-roles/#database-administration-roles

2.http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html

3.http://blog.csdn.net/yenange/article/details/43966799

相關文章
相關標籤/搜索