標籤:
1. 建立一個超級使用者
?
| 1234567891011121314 |
use admin db.createUser( { user: "adminUserName", pwd: "userPassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) |
超級使用者的role有兩種,userAdmin或者userAdminAnyDatabase(比前一種多加了對所有資料庫的訪問)。
db是指定資料庫的名字,admin是管理資料庫。
2. 用新建立的使用者登入
?
| 1 |
mongo --host xxx -u adminUserName -p userPassword --authenticationDatabase admin |
3. 查看目前使用者的許可權
?
| 123456 |
db.runCommand( { usersInfo:"userName", showPrivileges:true } ) |
4. 建立一般使用者,也是用createUser
?
| 123456789101112 |
use db01 db.createUser( { user:"oneUser", pwd:"12345", roles:[ {role:"read",db:"db01"}, {role:"read",db:"db02"}, {role:"read",db:"db03"} ] } ) |
5. 建立一個不受訪問限制的超級使用者
?
| 12345678 |
use admin db.createUser( { user:"superuser", pwd:"pwd", roles:["root"] } ) |
6. 修改密碼
?
| 12 |
use admin db.changeUserPassword("username", "xxx") |
7. 查看使用者資訊
?
| 1 |
db.runCommand({usersInfo:"userName"}) |
8. 修改密碼和使用者資訊
?
| 1234567 |
db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} } ) |
註:
1. 和使用者管理相關的操作基本都要在admin資料庫下運行,要先use admin;
2. 如果在某個單一的資料庫下,那隻能對當前資料庫的許可權進行操作;
3. db.addUser是老版本的操作,現在版本也還能繼續使用,建立出來的user是帶有root role的超級管理員。
MongoDB使用者管理