Подтвердить что ты не робот

Пользователь root "MongoDB"

Существует ли супер-UNIX-пользователь root для MongoDB? Я смотрел на http://docs.mongodb.org/manual/reference/user-privileges/ и пробовал много комбинаций, но все они, похоже, отсутствуют в той или иной области. Конечно, есть роль, которая выше всех перечисленных там.

4b9b3361

Ответ 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 явно не разрешает пользователю никаких привилегий, кроме администрирования пользователей." от ссылка, которую вы опубликовали