mongodb授权和权限

MongoDB默认是不需要用户密码连接操作,不过为了安全最好添加认证
首先以非认证方式启动mongod

./bin/mongod --dbpath data --logpath log/mongod.conf  --fork

创建数据库角色

use admin
help        #查看帮助
show roles     #查看所有创建的角色
#内建普通角色readreadWrite,dbAdmin,dbOwner,userAdmin,dbAdminAnyDatabase,clusterAdmin等.
#dbOwner有readWrite, dbAdmin and userAdmin权限.
#超级角色root有readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase and clusterAdmin权限
#查看角色权限
db.getRole( "readWrite", { showPrivileges: true } )
#创建角色
db.createRole(
   {
     role: "mongostatRole",
     privileges: [
       { resource: { cluster: true }, actions: [ "serverStatus" ] }
     ],
     roles: []
   }
)

创建数据库管理员用户

use admin
db.createUser(
  {
    user: "root",
    pwd: "password",
    roles: [ { role: "root", db: "admin" } ]
  }
)

use test
db.createUser(
  {
    user: "testOwner",
    pwd: "password",
    roles: [ { role: "dbOwner", db: "test" } ]
  }
)
show users   #查看所有用户
db.getUser("root")
#更改密码
db.updateUser(
   "root",
   {
      pwd: "123456"
   }
)

启动时开启认证–auth

./bin/mongod --dbpath data --shutdown
./bin/mongod --dbpath data --logpath log/mongod.conf  --fork --auth
use admin
db.auth("root","123456")
1
db.auth("root","error")
Error: 18 Authentication failed.
0

command
built-in-roles
Privilege Actions
create-user-defined-role
change-own-password-and-custom-data
add-user-administrator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值