Существует ли супер-UNIX-пользователь root для MongoDB? Я смотрел на http://docs.mongodb.org/manual/reference/user-privileges/ и пробовал много комбинаций, но все они, похоже, отсутствуют в той или иной области. Конечно, есть роль, которая выше всех перечисленных там.
Пользователь root "MongoDB"
Ответ 1
Хотя MongoDb не имеет аутентификации, вы можете создать эквивалент root/суперпользователя, используя "любые" роли для конкретного пользователя в базе данных admin
.
Что-то вроде этого:
use admin
db.addUser( { user: "<username>",
pwd: "<password>",
roles: [ "userAdminAnyDatabase",
"dbAdminAnyDatabase",
"readWriteAnyDatabase"
] } )
Обновление для 2. 6+
Хотя в 2.6 есть новый пользователь root, вы можете обнаружить, что он не соответствует вашим потребностям, поскольку у него все еще есть несколько ограничений:
Предоставляет доступ к операциям и всем ресурсам ролей readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase и clusterAdmin вместе взятых.
root не имеет доступа к коллекциям, которые начинаются с системы. префикс.
Обновление для 3. 0+
Используйте db.createUser
как db.addUser
был удален.
Обновление для 3.0. 7+
root больше не имеет ограничений, указанных выше.
Корень имеет действие проверки привилегий в системе. коллекции. Ранее root не имел доступа к коллекциям, начинающимся с системы. префикс, отличный от system.indexes и system.namespaces.
Ответ 2
Лучшая роль суперпользователя - это root. Синтаксис:
use admin
db.createUser(
{
user: "root",
pwd: "password",
roles: [ "root" ]
})
Для более подробной информации посмотрите на встроенные роли.
Надеюсь это поможет !!!
Ответ 3
Управление пользователями Mongodb:
список ролей:
read
readWrite
dbAdmin
userAdmin
clusterAdmin
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase
создать пользователя:
db.createUser(user, writeConcern)
db.createUser({ user: "user",
pwd: "pass",
roles: [
{ role: "read", db: "database" }
]
})
обновить пользователя:
db.updateUser("user",{
roles: [
{ role: "readWrite", db: "database" }
]
})
удалить пользователя:
db.removeUser("user")
или
db.dropUser("user")
просматривать пользователей:
db.getUsers();
дополнительная информация: https://docs.mongodb.com/manual/reference/security/#read
Ответ 4
Существуют роли суперпользователя: root, который является встроенными ролями, может удовлетворить ваши потребности.
Ответ 5
"userAdmin - это роль суперпользователя для конкретной базы данных. Пользователи с userAdmin могут предоставить себе все привилегии. Однако userAdmin явно не разрешает пользователю никаких привилегий, кроме администрирования пользователей." от ссылка, которую вы опубликовали