Mongo身份验证用户无法删除数据库

elB*_*rde 8 mongodb authentication

我的问题是 - 是否可以在 Mongo 数据库中定义能够删除数据库的用户?最大用户权限是“dbAdmin”,但该权限不允许用户删除数据库,只能删除集合。

我知道“clusterAdmin”有权删除数据库,但不能在常规数据库中定义该角色,只能在管理数据库中...

Asy*_*sky 8

不,目前(在 2.4 版中)无法创建这样的用户/权限。

特定数据库的权限授予该数据库中包含的实体的权限,但不授予数据库本身的权限。创建或删除数据库需要集群级别的权限。

参考:http : //docs.mongodb.org/manual/reference/user-privileges/#database-administration-roles


小智 8

授予您的用户“root”角色,您将能够删除数据库。您不必禁用身份验证来执行此操作,只要您拥有管理员帐户,这将起作用。

use admin;
db.grantRolesToUser("adminUser", ["root"]);
Run Code Online (Sandbox Code Playgroud)

现在删除数据库

use databaseToDelete;
db.dropDatabase();
Run Code Online (Sandbox Code Playgroud)