Mongodb設置密碼

mongodb密碼和傳統數據如mysql等有些區別: mongodb的用戶名和密碼是基於特定數據庫的,而不是基於整個系統的。所有所有數據庫db都需要設置密碼。

先開啓授權驗證:

vi /etc/mongod.conf

//註釋這兩句 => 關閉認證
#security:
# authorization: enabled

//打開這兩句 => 啓用認證
security:
authorization: enabled

1. 查看所有數據庫(在mongodb新版本里並沒有admin數據庫,但是並不妨礙第2步操作。)

show dbs

2. 進入admin數據庫

use admin

3. 創建管理員賬戶

db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

mongodb中的用戶是基於身份role的,該管理員賬戶的 role是 userAdminAnyDatabase。admin用戶用於管理賬號,不能進行關閉數據庫等操作。

4. 創建root

db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]})

創建完admin管理員,創建一個超級管理員root。角色:root。root角色用於關閉數據庫。

db.shutdownServer()

5. 創建用戶自己的數據庫的管理角色

use yourdatabase

db.createUser({user: "user",pwd: "password",roles: [ { role: "dbOwner", db: "yourdatabase" } ]})

role: "dbOwner"代表數據庫所有者角色,擁有最高該數據庫最高權限。比如新建索引等當賬號管理員和超級管理員,可以爲自己的數據庫創建用戶了。(坑)這時候一定,一定要切換到所在數據庫上去創建用戶,不然創建的用戶還是屬於admin。

如果是讀寫角色的話,權限設置爲role: "readWrite"

6. 查看用戶

show users

7. 刪除用戶

刪除用戶必須由賬號管理員來刪,所以,切換到admin角色

use admin

db.auth("admin","password")

刪除單個用戶

db.system.users.remove({user:"XXXXXX"})

刪除所有用戶

db.system.users.remove({})

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章