mongodb的使用者管理

來源:互聯網
上載者:User

標籤:mongodb 使用者驗證

簡介:由於mongodb資料的使用者管理是基於單個庫的管理,他的管理原則大概如下

    如果驗證了admin庫的賬戶,那麼所有的庫都可以訪問

    如果驗證了非admin庫的賬戶,那麼此許可權只能訪問當前庫下的資料

步驟建議:

    如果要對資料庫進行賬戶設定,最好我們首先不要開啟資料庫驗證,然後進入admin庫,建立密碼

退出添加 -auth  驗證重啟mongodb然後使用admin庫的賬戶進行驗證,如果通過那麼進入其它庫進行賬戶建立,完成後重新登入進行驗證

驗證如下:

    啟動mongod

        mongod.exe --dbpath=E:\mongodb\db -auth  -auth  開啟使用者驗證,如果啟動沒有添加此參數那麼使用者驗證將失敗

    首先進入admin庫

        use admin

    查看當前資料的使用者

        show collections 能返回兩個表

    添加admin庫的sa賬戶密碼為sa

        db.addUser(‘sa‘,‘sa‘)

    ctrl+c 退出當前登入

    重新登入並進入admin庫和test庫檢查是否能夠查詢當前表

> use adminswitched to db admin> show collectionsMon Oct 13 17:11:01 uncaught exception: error: {        "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",        "code" : 10057}> use testswitched to db admin> show collectionsMon Oct 13 17:13:51 uncaught exception: error: {        "$err" : "unauthorized db:test lock type:-1 client:127.0.0.1",        "code" : 10057}

    驗證admin庫裡面的sa賬戶是否能夠查看admin庫和test庫的資訊

    

> db.auth(‘sa‘,‘sa‘)1> show collectionssystem.indexessystem.users> use testswitched to db test> show collectionssystem.indexessystem.users>

    進入test庫並建立使用者test密碼test

> use testswitched to db test> db.addUser(‘test‘,‘test‘){        "updatedExisting" : true,        "n" : 1,        "connectionId" : 10,        "err" : null,        "ok" : 1}{        "_id" : ObjectId("543b80be1d60b11044c2fc59"),        "user" : "test",        "readOnly" : false,        "pwd" : "a6de521abefc2fed4f5876855a3484f5"}>

    ctrl+c退出重新登入,驗證test賬戶能夠訪問test庫和admin庫

> db.auth(‘test‘,‘test‘)1> show collectionssystem.indexessystem.users> use adminswitched to db admin> show collectionsMon Oct 13 17:21:06 uncaught exception: error: {        "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",        "code" : 10057}>

    驗證admin庫的admin帳號,看是否能查看admin庫的資訊

> use adminswitched to db admin> db.auth(‘sa‘,‘sa‘)1> show collectionssystem.indexessystem.users>

PS:當驗證使用者的時候,如果返回1證明有此使用者,如果返回0證明沒有此使用者 如:

> use adminswitched to db admin> db.auth(‘sa‘,‘sa‘)1


本文出自 “精忠報國” 部落格,請務必保留此出處http://xinsir.blog.51cto.com/5038915/1563383

mongodb的使用者管理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.