MongoDB許可權管理之使用者名稱和密碼的操作
來源:互聯網
上載者:User
MongoDB預設是不需要輸入使用者名稱和密碼,客戶就可以登入的。但是出於安全性的考慮,我們還是要為其設定使用者名稱和密碼。本文主要介紹的是MongoDB許可權管理之使用者名稱和密碼的操作,希望能對您有所協助。 AD: 本文我們介紹MongoDB許可權管理,主要介紹的是如何設定使用者名稱和密碼。接下來我們就一一介紹。 添加使用者的時候必須滿足以下兩個條件: 1.有相關許可權的情況下(後面會說)。 2.mongod沒有加--auth的情況下(如果加了,你添加許可權的話 會出現下面的情況)。 > use admin switched to db admin > db.addUser('sa','sa') Fri Jul 22 14:31:13 uncaught exception: error { "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1", "code" : 10057 } > 所以我們添加使用者時必須先在沒有加--auth的時候添加個super admin。 服務起來後,進入./mongo。 [root@:/usr/local/mongodb/bin]#./mongo MongoDB shell version: 1.8.2 connecting to: test > use admin switched to db admin > db.adduser('sa','sa') Fri Jul 22 14:34:24 TypeError: db.adduser is not a function (shell):1 > db.addUser('sa','sa') { "_id" : ObjectId("4e2914a585178da4e03a16c3"), "user" : "sa", "readOnly" : false, "pwd" : "75692b1d11c072c6c79332e248c4f699" } > 這樣就說明 已經成功建立了,然後我們試一下許可權。 > show collections system.indexes system.users 在沒有加--auth的情況下 可以正常訪問admin喜愛預設的兩個表。 > db.system.users.find() { "_id" : ObjectId("4e2914a585178da4e03a16c3"), "user" : "sa", "readOnly" : false, "pwd" : "75692b1d11c072c6c79332e248c4f699" }>