{
user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>",
db: "<database>" } | "<role>",
...
]
}
1、基本语法说明:
user:用户名
pwd:密码
roles:
role:角色
db:对象
role:root, dbAdmin,readWrite,read
验证数据库:
创建用户时你use到的库,在将来登录时候,使用以下方式登录,否则是登录不了的
列子:
use test
create user
{
user: "oldboy",
pwd: "123",
roles: [
{ role: "readWrite",
db: "oldboy" },
...
]
}
总结:
1、在创建普通用户时,一般事先use 到想要设置权限的库下;或者所有普通用户使用同一个验证库,比如test
2、root角色的创建,要在admin下进行创建
3、创建用户时你use到的库,在将来登录时候,使用以下方式登录,否则是登录不了的
mongo -u oldboy -p 123 10.0.0.53/oldboy
用户管理例子:
(1)–创建超级管理员:管理所有数据库
$ mongo
use admin
db.createUser(
{
user: "root",
pwd: "root123",
roles: [ { role: "root", db: "admin" } ]
}
)
验证用户
db.auth('root','root123')
配置文件中,加入以下配置
security:
authorization: enabled
重启mongodb
mongod -f /mongodb/conf/mongo.conf --shutdown
mongod -f /mongodb/conf/mongo.conf
登录验证
mongo -uroot -proot123 10.0.0.53/admin
或者
mongo
use admin
db.auth('root','root123')
2、创建库管理用户
use app
db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "dbAdmin", db: "app" } ]
}
)
db.auth('admin','admin')
db.createUser(
{
user: "admin1",
pwd: "admin1",
roles: [ { role: "dbAdmin", db: "app" } ]
}
)
登录测试
mongo -uadmin -padmin 10.0.0.53/app
3、创建对app数据库,读、写权限的用户app01:
(1)超级管理员用户登陆
mongo -uroot -proot123 admin
(2)选择一个验证库(如果记不住,就选用test)
use test
(3)创建用户
db.createUser(
{
user: "app01",
pwd: "app01",
roles: [ { role: "readWrite" , db: "app" } ]
}
)
mongo -app01 -papp01
4、创建app数据库读写权限的用户并对test数据库具有读权限:
mongo -uroot -proot123 10.0.0.53/admin
use app
db.createUser(
{
user: "app03",
pwd: "app03",
roles: [ { role: "readWrite", db: "app" },
{ role: "read", db: "test" }
]
}
)
5、查询mongodb中的用户信息
mongo -uroot -proot123 10.0.0.53/admin
db.system.users.find().pretty()
6、删除用户(root身份登录,use到验证库)
删除用户
# mongo -uroot -proot123 10.0.0.53/admin
use app
db.dropUser("app03")
文档更新时间: 2019-03-25 13:16 作者:李延召