注意事项
1 2 3 4 5 6
| 验证库,建立用户时use到的库,在使用用户时,要加上验证库才能登陆 对于管理员用户,必须在admin下创建 1. 建用户时,use到的库,就是此用户的验证库 2. 登录时,必须明确指定验证库才能登录 3. 通常,管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库 4. 如果直接登录到数据库,不进行use,默认的验证库是test,不是我们生产建议的
|
基本语法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| mongo 10.0.0.151/admin use admin
db.createUser { user: "<name>", pwd: "<cleartext password>", roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ] }
user:用户名 pwd:密码 roles: role:角色名 db:作用对象 role:root, readWrite,read
验证数据库: mongo -u test -p 123 10.0.0.21/test
|
用法实例
管理员用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| $ mongo use admin db.createUser( { user: "root", pwd: "root123", roles: [ { role: "root", db: "admin" } ] } )
db.auth('root','root123')
vim /mongodb/conf/mongodb.conf security: authorization: enabled
mongod -f /mongodb/conf/mongodb.conf --shutdown mongod -f /mongodb/conf/mongodb.conf
mongo -uroot -proot123 admin mongo -uroot -proot123 192.168.0.11/admin
mongo use admin db.auth('root','root123')
use admin db.system.users.find().pretty()
mongo -uroot -proot123 admin
use app db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "dbAdmin", db: "app" } ] } )
db.auth('admin','admin')
mongo -uadmin -padmin app
|
普通用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| mongo -uroot -proot123 admin
use app
db.createUser( { user: "app01", pwd: "app01", roles: [ { role: "readWrite" , db: "app" } ] } ) mongo -uapp01 -papp01 app
mongo -uroot -proot123 admin
use app db.createUser( { user: "app03", pwd: "app03", roles: [ { role: "readWrite", db: "app" }, { role: "read", db: "test" } ] } )
mongo -uroot -proot123 admin db.system.users.find().pretty()
mongo -uroot -proot123 admin use app db.dropUser("admin")
|
角色关系
