7.退出mongosh并重新以超级管理员身份连接MongoDB,验证超级管理员是否创建成功;继续创建mongodb_foo用户,密码设置为10762,授予针对test_db数据库只读的角色权限并测试是否可以连接成功;
时间: 2024-10-16 11:15:23 浏览: 42
mongodb-language-model:解析MongoDB查询语言并创建分层的Ampersand.js模型以与查询树进行交互
在命令行中,首先确保已经退出了`mongosh`,你可以通过输入`exit`或按下Ctrl+D键来完成退出。然后,你需要切换到超级管理员角色来连接MongoDB。在MongoDB shell中,通常使用`mongo --eval 'db.runCommand({ authenticate: "admin", username: "your_admin_username", password: "your_admin_password" })'`,这里将`your_admin_username`和`your_admin_password`替换为你实际的用户名和密码。
如果你之前创建了超级管理员并且认证成功,那么接下来创建新的用户`mongodb_foo`:
```bash
mongo --eval 'db.createUser({ user: "mongodb_foo", pwd: "10762", roles: [{ role: "readOnly", db: "test_db" }] })'
```
这将会在`test_db`数据库中创建一个新的只读用户,并赋予相应的权限。注意,这里的`pwd: "10762"`应该替换成`"10762"`,因为密码通常不会显示出来。
接着,尝试使用新创建的用户连接数据库:
```bash
mongo test_db -u mongodb_foo -p 10762
```
如果连接成功,说明用户创建并授权正确。如果提示权限不足,那可能是角色设置有误。
阅读全文