我正在玩弄权限并将自己锁定在 Mongo 数据库之外。我很确定我是通过尝试显式添加对数据库的访问来做到这一点的,但我改写了只允许对数据库的访问权限。所以我实际上被锁定在我的 Mongo 数据库之外,我读到的所有内容都告诉我如果我有添加用户权限,如何创建超级用户。现在我认为我没有任何拥有该特权的用户。有没有办法以所有访问权限进入数据库?我拥有服务器并拥有 root 访问权限。
小智 42
如果您已将自己锁定,则需要执行以下操作:
小智 17
当我在没有先添加超级用户的情况下创建用户时遇到了类似的问题。以下步骤有助于解决问题:
sudo( sudo vi mongodb.conf)打开 MongoDB 配置文件。/etc/文件夹中找到。"auth = true"。sudo service mongod stop)sudo service mongod start)然后使用以下命令创建“root”超级用户:
use admin
db.createUser({user:"admin",pwd:"password",roles:[{role:"root",db:"admin"}]});
Run Code Online (Sandbox Code Playgroud)
供参考https://docs.mongodb.com/manual/reference/built-in-roles/#superuser-roles
返回并取消注释"auth=true"。停止和启动/重启 mongodb 服务。
Jos*_*ine 12
如果您使用带有keyfile
使用内部身份验证的副本集成员之间的安全性
密钥文件用于复制中的身份验证。
security:
keyFile: <path-to-keyfile>
replication:
replSetName: <replicaSetName>
Run Code Online (Sandbox Code Playgroud)
您可以使用此命令以管理员身份登录 mongod:
mongo -u __system -p "$(tr -d '\011-\015\040' < path-to-keyfile)" --authenticationDatabase local
Run Code Online (Sandbox Code Playgroud)
后记您可以创建或修改您的管理员用户。
内部角色
__systemMongoDB 将此角色分配给代表集群成员的用户对象,例如副本集成员和 mongos 实例。该角色授权其持有者对数据库中的任何对象采取任何行动。除非在特殊情况下,否则不要将此角色分配给代表应用程序或人工管理员的用户对象。
| 归档时间: |
|
| 查看次数: |
93499 次 |
| 最近记录: |