mongodb 用户管理
注意:
验证库,建立用户时use到的库,在使用用户时,要加上验证库才能登陆
对于管理员用户,必须在 admin下创建
参数说明:
user 用户
pwd 密码
role 角色名
db 作用对象
role: root/readWrite/read 权限
登录:
[mongodb@node1 conf]$ mongo 192.168.253.129/admin
配置文件中加入
security:
authorization: enabled
3.1 案例一–创建超级管理员,管理所有数据库(必须use admin 再去创建)
db.createUser(
{
user:"root",
pwd:"root123",
roles:[ { role: "root", db: "admin" } ]
}
)
验证用户:
> db.auth("root","root123")
1
重启mongodb
[mongodb@node1 conf]$ mongod -f /mongodb/conf/mongodb.conf --shutdown
[mongodb@node1 conf]$ mongod -f /mongodb/conf/mongodb.conf
登陆验证:
[mongodb@node1 conf]$ mongo -uroot -proot123 admin
[mongodb@node1 conf]$ mongo -uroot -proot123 192.168.253.129/admin
查看用户:
> db.system.users.find().pretty()
3.2 创建库管理用户
[mongodb@node1 conf]$ mongo -uroot -proot123 admin
> use app
db.createUser(
{
user:"admin",
pwd:"admin",
roles:[ { role: "dbAdmin", db: "app" } ]
}
)
> db.auth('admin','admin')
[mongodb@node1 conf]$ mongo -uadmin -padmin app
3.3 创建对app数据库,读写权限的用户app01
超级管理员用户登录
[mongodb@node1 conf]$ mongo -uroot -proot123 192.168.253.129/admin
选择一个验证库
> use app
db.createUser(
{
user:"app01",
pwd:"app01",
roles:[ { role: "readWrite", db: "app" } ]
}
)
[mongodb@node1 conf]$ mongo -uapp01 -papp01 192.168.253.129/app
3.4 创建app数据库读写权限的用户对test数据库具有读权限
[mongodb@node1 conf]$ mongo -uroot -proot123 192.168.253.129/admin
> use app
db.createUser(
{
user:"app03",
pwd:"app03",
roles:[ { role: "readWrite", db: "app" },
{ role: "read",db: "test" } ]
}
)
[mongodb@node1 conf]$ mongo -uapp01 -papp01 192.168.253.129/app
3.5 删除用户(皮一下,哈哈)
[mongodb@node1 conf]$ mongo -uroot -proot123 192.168.253.129/admin
> use app
> db.dropUser("admin")