(一)在 mongoDB 中创建用户

在创建用户之前,必须先关闭 权限认证(参考第二步)

1、启动 mongodb
​​​./mongod -f mongodb.conf​​​ 2、连接
​./mongo 127.0.0.1:27017​​ 3、创建用户

db.createUser({
user:"<name>",
pwd:"<password>",
customData:"any information",
roles:[{role:"<role>",db:"<database>"}]})

customData:提示信息
roles:是指这个用户的类型/角色
db:是这个用户是创建在哪个数据库上
role:内建类型(read,readWrite,dbAdmin,dbOwner,userAdmin)

  1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDat


案例:

db.createUser({
user:"root",
pwd:"root",
customData:"超级用户",
roles:[{role:"<role>",db:"<database>"}]})

(二)开启权限认证
修改配置文件,添加:

#开启权限认证
auth = true

重启 mongodb

(三)用户名密码登录

./mongo 127.0.0.1:27017 -u root -p root

(四)自定义用户角色
可以使用 createRole() 创建角色,比如:

db.createRole({
_id:"myApp.appUser",
role:"appUser",
db:"myApp",
privileges:[
{resource:{db:"myApp",collection:""},
actions:["find","createCollection","dbStats","collStats"]},
{resource:{db:"myApp",collection:"logs"},
actions:["insert"]},
{resource:{db:"myApp",collection:"data"},
actions:["insert","update","remove","compact"]}
],
roles:[]
})