我有一个MongoDB v5.0.8与多个数据库运行。我切换到所需的数据库(排行榜-db)然后在mongo shell中使用以下命令添加一个新用户:
切换到所需的DB:
use leaderboard-db
和
创建新用户:
db.createUser({ user: "aa", pwd: "leaderboardadmin#@!", roles: [ { role: "read", db: "leaderboard-db" } ], mechanisms: [ "SCRAM-SHA-256" ]})
用户创建成功,可以通过命令
验证show users
反应:
{
"_id" : "leaderboard-db.aa",
"userId" : UUID("f571db84-cae4-4aac-b2f9-83b57094dd1b"),
"user" : "aa",
"db" : "leaderboard-db",
"roles" : [
{
"role" : "read",
"db" : "leaderboard-db"
}
],
"mechanisms" : [
"SCRAM-SHA-256"
]
}
然后使用Studio 3T与用户"aa"连接到MongoDB。我应该只能读取(排行榜-db)中的文档;但是,我也可以修改文档。
更新截图
有谁能帮忙解决这个问题吗?
我想只允许用户阅读文档"aa"。用户"aa"不能有写权限
感谢杰克
根据@WernfriedDomscheit的建议,我需要启用身份验证。我通过更新/etc/mongod.conf
文件,取消Security
部分的注释,添加Authorization: enabled
并通过service mongod restart
重新启动MongoDB来做到这一点
这样我就可以创建具有不同角色访问权限的用户了。
生活又美好了。