天天看點

MongoDB使用者管理建立使用者删除使用者修改使用者密碼

文法:

db.createUser(

{

user:<name_string>, #字元串

pwd:<password_strin>, #字元串

roles:[{role:<role_name>,db:<db_name>}] #數組

}

)

建立使用者:

使用者驗證:

檢視使用者:

MongoDB使用者管理建立使用者删除使用者修改使用者密碼

db.dropUser(<user_name>) #删除某個使用者,授受字元串參數

db.dropAllUsers() #删除目前庫的所有使用者

要修改使用者密碼,要求使用者具有changePassword或changeOwnPassword的權限,有以下兩種方式用來修改使用者密碼:

db.changeUserPassword(<user_name>,<new_password>)

db.updateUser(<user_name>,{update_object})

db.changeUserPassword()示例:

<code>admin@undefined$ db.changeUserPassword("root","123456")</code>

可以看到在修改root使用者的密碼後,原來的密碼驗證就失敗了,但是目前這個會話還是可以正常執行操作,新會話則需要用修改後的密碼進行驗證

db.updateUser()示例:

<code>admin@undefined$ db.updateUser("root",{pwd:"admin123"})</code>

修改使用者權限(角色):

修改使用者角色也是使用db.updateUser()函數來實作的

我們先建立一個測試使用者readtest,它隻對test庫具備讀權限:

user:"readtest",

pwd:"123456",

roles:[{role:"read",db:"test"}]

可以看到這個使用者可以執行讀操作,寫操作是沒有權限的,現在我們通過db.updateUser()來擴充它的權限,記其具有讀寫權限。

<code>admin@undefined$ db.updateUser("readtest",{"roles":[{role:"readWrite",db:"test"}]})</code>

可以看到,當我們把readtest使用者的角色從read改成readWrite時,它就具有了對test庫的寫權限。通過db.updateUser()我們可以實作使用者權限的放大和縮小