mongoDB用户认证

MongoDB默认是不创建用户,但是为了保证的MongoDB数据的安全,就需要给MongoDB配置用户和分配操作权限。

MongoDB创建用户步骤:

1.创建管理员账户
2.开启权限验证
3.给指定数据库创建用户并分配操作权限

1.创建管理员账户

mongo安装略,配置如下:

systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
   dbPath: /data/mongo
processManagement:
   fork: true
net:
   bindIp: 0.0.0.0
   port: 27017
   maxIncomingConnections: 56635
setParameter:
   enableLocalhostAuthBypass: false

键入如下命令启动mongoDB:

mongo -f /etc/mongo.conf

在登录到MongoDB数据库之后,键入如下名命令切换到admin数据中:

use admin

键入如下命令,给admin数据库创建管理员账户:

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

键入如下命令,查看创建结果:

show users

2.开启权限认证

在mongoDB的配置文件中添加security.autorization=enabled即可开启mongoDB权限认证功能。

mongo配置如下:

systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
   dbPath: /data/mongo
processManagement:
   fork: true
net:
   bindIp: 0.0.0.0
   port: 27017
   maxIncomingConnections: 56635
setParameter:
   enableLocalhostAuthBypass: false
security:
    authorization: enabled

重新启动mongoDB.

3.给指定数据库创建用户并分配操作权限

在登录到MongoDB数据库之后,键入如下名命令切换到admin数据中:

use admin

在切换到admin数据库之后,键入如下命令切换到root管理员账户:

db.auth('root','123456')

或者直接使用root用户登录到admin数据库,命令如下:

mongo admin -u root -p 123456

使用管理员创建普通用户并且给用户授权一个数据库
切换到带授权数据库,命令如下:

use auth_test

创建一个用户,并给该用户授与auth_test数据库读写权限,命令如下:

db.createUser({user: "testUser",pwd: "123456",roles: [ { role: "readWrite", db: "auth_test" } ]})

验证授权
退出登录,使用testUser登录。

键入如下命令使用testUser用户登录auth_test数据库:

mongo admin -u testUser -p 123456

用户角色授权命令

授予角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ])  
取消角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ])

删除用户

db.system.users.remove({user:"userName"})

修改用户密码

db.changeUserPassword("userName", "new password")
    原文作者:cooze
    原文地址: https://www.jianshu.com/p/3b1134e7b12b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞