Я пытаюсь добавить авторизацию к моей MongoDB.
Я делаю все это на Linux с MongoDB 2.6.1.
Мой файл mongod.conf находится в старом формате совместимости
(именно так он поступил с установкой).
1) Я создал пользователя с правами администратора, как описано здесь в (3)
http://docs.mongodb.org/manual/tutorial/add-user-administrator/
2) Затем я отредактировал mongod.conf, раскомментировав эту строку
auth = true
3) Наконец, я перезагрузил сервис mongod и попытался войти с помощью:
/usr/bin/mongo localhost:27017/admin -u sa -p pwd
4) Я могу подключиться, но это говорит об этом при подключении.
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:47:16 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
5) Теперь кажется, что у этого sa
пользователя, которого я создал, нет никаких разрешений вообще.
root@test02:~# mc
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:57:03 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
[admin] 2014-05-29 17:57:03.011 >>> use admin
switched to db admin
[admin] 2014-05-29 17:57:07.889 >>> show collections
2014-05-29T17:57:10.377-0400 error: {
"$err" : "not authorized for query on admin.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[admin] 2014-05-29 17:57:10.378 >>> use test
switched to db test
[test] 2014-05-29 17:57:13.466 >>> show collections
2014-05-29T17:57:15.930-0400 error: {
"$err" : "not authorized for query on test.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[test] 2014-05-29 17:57:15.931 >>>
В чем проблема? Я повторил всю эту процедуру 3 раза, и
я думаю, что сделал все, как указано в документации MongoDB. Но это не работает.
Я ожидал, что этому sa
пользователю будет разрешено делать все, чтобы
он мог затем создавать других пользователей и давать им более конкретные разрешения.