centos

centos mongodb权限管理指南

小樊
83
2025-02-13 00:11:41
栏目: 云计算

在CentOS系统上管理MongoDB的权限涉及几个关键步骤,包括开启认证、创建用户、分配角色和验证权限。以下是详细的指南:

开启认证

首先,需要在MongoDB的配置文件中启用认证。编辑 /etc/mongod.conf 文件,确保以下配置被添加:

security:
  authorization: enabled

修改配置后,重启MongoDB服务以使更改生效:

sudo systemctl restart mongod

创建管理员用户

连接到MongoDB shell,切换到 admin 数据库,并创建一个管理员用户。例如:

mongo -u "admin" -p "your_password" --authenticationDatabase "admin"

admin 数据库中执行以下命令创建管理员用户:

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

创建普通用户并分配角色

创建普通用户并为其分配适当的角色。例如,创建一个只读用户 readonlyuser,并赋予其对 mydatabase 数据库的读取权限:

use mydatabase
db.createUser({
  user: "readonlyuser",
  pwd: "your_password",
  roles: [ { role: "read", db: "mydatabase" } ]
})

验证用户权限

验证用户是否具有特定角色的权限:

use mydatabase
db.getUser("readonlyuser")

分配特定集合的权限

如果需要限制用户对特定集合的访问,可以在创建用户时为其分配特定集合的权限:

use mydatabase
db.createUser({
  user: "readonlyuser",
  pwd: "your_password",
  roles: [ { role: "read", db: "mydatabase", collection: "specificCollection" } ]
})

删除用户

删除用户使用 db.dropUser 命令:

use mydatabase
db.dropUser("readonlyuser")

修改用户密码

修改用户密码使用 db.changeUserPassword 方法:

use mydatabase
db.changeUserPassword("readonlyuser", "new_password")

查看用户列表

查看当前数据库中的所有用户使用 db.showUsers() 命令:

use mydatabase
db.showUsers()

0
看了该问题的人还看了