如何为MongoDB服务器启用访问控制? 此行显示在日志中:
CONTROL [initandlisten] **警告:未启用访问控制 数据库。我控制[initandlisten] **读写访问 数据和配置不受限制。
我使用Plesk启动MongoDB,我已经阅读了他们的手册 但这并没有告诉我如何启用访问控制,因为我只能通过Plesk控制面板(例如/ data / db和/ data / configdb)添加环境变量和卷映射。
我可以使用没有凭据的终端登录来创建超级管理员和所有角色,但这不能解决无限制的访问。
我还可以使用以下方法访问容器中的文件:
docker exec -it mongo /bin/bash
我看到以下目录:docker-entrypoint-initdb.d 但我不知道该放在哪里。另外,我安装在容器内的软件包(如vim)不会保留,并且在重启后会丢失。
此外,我不知道Plesk在哪里存储docker-compose.yml文件。这是仅属于图像文件内部的文件吗?
如果我更改/etc/mongod.conf并添加以下内容:
security: authorization: enabled
重启后什么也没有发生,请问我能帮上什么忙吗?
系统信息:
答案 0 :(得分:0)
您应该阅读库/ mongo图像文档:https://hub.docker.com/_/mongo/
如果要使用自己的mongo配置文件,请将其放在/etc/mongo/mongod.conf之类的容器中(带有volume或COPY)。 之后,您必须告诉mongo将其用作配置文件:
$ docker run --config /etc/mongo/mongod.conf
或者在docker-compose中:
services:
mongo:
image: mongo
command: --config /etc/mongo/mongod.conf
我无法帮助您获取Plesk docker-compose.yml的位置,请尝试使用find
命令。
希望它能对您有所帮助。