关键词

MongoDB4.28开启权限认证配置用户密码登录功能

下面是MongoDB4.28开启权限认证配置用户密码登录功能的完整攻略:

第一步:启用安全认证

首先,需要启用MongoDB的安全认证。进入mongo shell,在admin数据库中运行以下命令启用认证功能:

use admin
db.runCommand({ "setParameter": 1, "authenticationMechanisms": { "SCRAM-SHA-1" : true } })
db.createUser(
  {
    user: "admin",
    pwd: "admin123",
    roles: [
       { role: "root", db: "admin" }
    ]
  }
)

其中,第一条命令用于设置认证机制为SCRAM-SHA-1,第二条命令用于创建超级管理员用户(用户名:admin,密码:admin123),并赋予root角色,以便后续创建新用户和管理角色时使用。

第二步:创建普通用户

接下来,需要创建一个普通用户,并给该用户授权,以便其可以访问数据库。在admin数据库中运行以下命令:

use admin
db.createUser(
  {
    user: "myuser",
    pwd: "mypassword",
    roles: [ { role: "readWrite", db: "mydb" } ]
  }
)

其中,第一行用于切换到admin数据库,第二行命令用于创建用户名为myuser、密码为mypassword的用户,并给该用户授予了对mydb数据库的readWrite角色。需要根据实际需求修改用户名称、密码和授权的数据库和角色。

第三步:重启MongoDB服务

在完成上述两步设置后,需要重启MongoDB服务,让其重新加载配置文件。

第四步:用普通用户登录MongoDB

接下来,要尝试用配置好的普通用户登录MongoDB。在MongoDB shell中输入以下命令:

mongo -u myuser -p --authenticationDatabase mydb

然后输入该用户的密码,即可成功登录。

示例一:修改现有用户的角色

如果需要修改现有用户的角色,可以使用以下命令:

use mydb
db.updateUser("myuser", {
   roles: [
      { role: "readWrite", db: "mydb" },
      { role: "read", db: "myotherdb" }
   ]
})

其中,第一行命令用于切换到mydb数据库,第二行命令用于修改用户名为myuser的用户的授权角色,将其授权了对mydb数据库的读写和对myotherdb数据库的只读权限。

示例二:删除用户

如果需要删除某个用户,可以使用以下命令:

use admin
db.dropUser("myuser")

其中,第一行命令用于切换到admin数据库,第二行命令用于删除用户名为myuser的用户。

希望这个完整攻略能对你有所帮助!

本文链接:http://task.lmcjl.com/news/18711.html

展开阅读全文