下面是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 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