MongoDB 2.6.5创建管理员角色
在MongoDB 2.6.5上,我试图通过运行以下代码在我的MongoDB 2.6.5创建管理员角色,mongodb,admin,privileges,Mongodb,Admin,Privileges,在MongoDB 2.6.5上,我试图通过运行以下代码在我的Admin DB上创建一个Admin用户: use admin db.createUser( { user: "MY_ADMIN_USER", pwd: "SOME_STROG_PASSWORD", roles: [ { role: "userAdminAnyDatabase", db: "admin"
Admin DB
上创建一个Admin
用户:
use admin
db.createUser(
{
user: "MY_ADMIN_USER",
pwd: "SOME_STROG_PASSWORD",
roles: [ {
role: "userAdminAnyDatabase",
db: "admin"
} ]
}
);
但当我这样做时,我会得到以下错误:
Error: couldn't add user: not authorized on admin to
execute command
{
createUser: "MY_ADMIN_USER",
pwd: "xxx",
roles: [{
role: "userAdminAnyDatabase",
db: "admin"
}],
digestPassword: false,
writeConcern: {
w:"majority",
wtimeout: 30000.0
}
}
当登录到我的应用程序的数据库时,我拥有所有特权
但在管理数据库上,我似乎没有
谢谢您的回答。好的!所以我发现了问题 如果您遇到类似的情况,可以使用
root
凭据对其进行baypass
使用root用户时,运行vi/etc/mongod.conf
以输入配置文件
将auth
的值设置为false。现在要小心,因为这可能是一个重大的安全问题
我建议您在执行此操作时关闭相关端口
重新启动mongo服务以应用更改:
sudo service mongod restart
登录到mongodb管理数据库,然后运行创建用户的命令
db.createUser(
{
user: "MY_ADMIN_USER",
pwd: "SOME_STROG_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
);
所以现在你可以
注销,
将auth参数更改回true,然后重新启动mongo服务(并打开我引导您关闭lol的端口)。您使用什么凭据来运行db.CreateUser?该用户似乎没有对管理数据库的读/写权限。如果您尝试将这些证书授予该用户,会发生什么情况?好吧,如果您谈论的是操作系统凭据,那么它就是
root
。关于mongo db凭据,我只是使用mongo
登录,没有身份验证。