Я пытаюсь использовать MongoDB с кукушкой, но я получаю сообщение об ошибке:ошибка: не авторизован на кукушку (имя БД), чтобы выполнить команду, используя (кукушку с MongoDB)
2016-12-16 06:58:01,632 [lib.cuckoo.core.plugins] ERROR: Failed to run the reporting module "MongoDB":
Traceback (most recent call last):
File "/home/ziv/Documents/cuckoo/lib/cuckoo/core/plugins.py", line 533, in process
current.run(self.results)
File "/home/ziv/Documents/cuckoo/modules/reporting/mongodb.py", line 89, in run
if "cuckoo_schema" in self.db.collection_names():
File "/usr/lib/python2.7/dist-packages/pymongo/database.py", line 520, in collection_names
results = self._list_collections(sock_info, slave_okay)
File "/usr/lib/python2.7/dist-packages/pymongo/database.py", line 492, in _list_collections
cursor = self._command(sock_info, cmd, slave_okay)["cursor"]
File "/usr/lib/python2.7/dist-packages/pymongo/database.py", line 393, in _command
allowable_errors)
File "/usr/lib/python2.7/dist-packages/pymongo/pool.py", line 211, in command
read_concern)
File "/usr/lib/python2.7/dist-packages/pymongo/network.py", line 100, in command
helpers._check_command_response(response_doc, msg, allowable_errors)
File "/usr/lib/python2.7/dist-packages/pymongo/helpers.py", line 196, in _check_command_response
raise OperationFailure(msg % errmsg, code, response)
OperationFailure: command SON([('listCollections', 1), ('cursor', {})]) on namespace cuckoo.$cmd failed: not authorized on cuckoo to execute command { listCollections: 1, cursor: {} }
это я БД в есть:
show dbs
admin 0.078GB
cuckoo 0.078GB
local 0.078GB
я использовал это руководство по установке Монго дБ https://www.howtoforge.com/tutorial/install-mongodb-on-ubuntu-16.04/
я использовал это руководство по установке кукушка http://mostlyaboutsecurity.com/?p=15&i=1
обновление
Ithink я не имею права, но я не знаю, как установить, что мне нужно, это код кукушка, который использует Монго DB: (на этой линии «self.db.collection_names(): ")
def run(self, results):
"""Writes report.
@param results: analysis results dictionary.
@raise CuckooReportError: if fails to connect or write to MongoDB.
"""
if not HAVE_MONGO:
raise CuckooDependencyError(
"Unable to import pymongo (install with "
"`pip install pymongo`)"
)
self.connect()
# Set mongo schema version.
# TODO: This is not optimal becuase it run each analysis. Need to run
# only one time at startup.
if "cuckoo_schema" in self.db.collection_names():
if self.db.cuckoo_schema.find_one()["version"] != self.SCHEMA_VERSION:
CuckooReportError("Mongo schema version not expected, check data migration tool")
else:
self.db.cuckoo_schema.save({"version": self.SCHEMA_VERSION})
def connect(self):
"""Connects to Mongo database, loads options and set connectors.
@raise CuckooReportError: if unable to connect.
"""
host = self.options.get("host", "127.0.0.1")
port = int(self.options.get("port", 27017))
db = self.options.get("db", "cuckoo")
try:
self.conn = MongoClient(host, port)
self.db = self.conn[db]
self.fs = GridFS(self.db)
except TypeError:
raise CuckooReportError("Mongo connection port must be integer")
except ConnectionFailure:
raise CuckooReportError("Cannot connect to MongoDB")
Я не хочу, чтобы изменить этот код (добавить строку подключения к нему)
у меня есть чистая установка MongoDB, как я создать БД с именем кукушку , что этот код может не использовать и использовать?
Я не нашел ссылки во всех руководствах, которые я читал. его, как он должен работать автоматически, но это не
В строке строки подключения нет пользователя (я обновил свой вопрос с кодом кукушки, обращаясь к MongoDB). –
cuckoo proc работает под обычным пользователем системы Я не знаю, как добавить это разрешение для этого пользователя –
Является ли ваш экземпляр MongoDB запущенным с включенным auth? Т.е. вам нужно передать имя пользователя и пароль при подключении к базе данных с оболочкой mongo? Если это так, вам нужно будет указать имя пользователя и пароль в код соединения при подключении к MongoDB. См. Https://api.mongodb.com/python/current/examples/authentication.html#scram-sha-1-rfc-5802 для примера. –