繁体   English   中英

在Ubuntu桌面中的mongoDb中启用身份验证

[英]Enable authentication in mongoDb in Ubuntu Desktop

我使用Ubuntu 16.04,并尝试在mongodDb中启用身份验证

我创建了一个新用户

db.createUser({
user:"Sun",
pwd:"Sun",
roles:[{role:"userAdmin",db:"pet"}]
})

我通过检查用户

db.getUsers();

但是我仍然能够在不提供用户名和密码的情况下修改数据库

我试图通过文档中提供的命令启用授权,但对我不起作用。

在我的系统中启动mongodb我必须写

sudo service mongod start
mongod

请告诉我如何在mongoDb中启用身份验证

听起来您mongod.conf文件中可能缺少配置指令。

检查文档中的步骤4

使用访问控制重新启动MongoDB实例。

使用--auth命令行选项或( 如果使用配置文件)security.authorization设置重新启动mongod实例。

因此,在您的配置文件中,您应该有这行;

security.authorization: enabled

从带有CentOS的测试盒中,文件位于/etc/mongod.conf并且应如下所示(检查路径是否正确等)

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

processManagement:
  fork: true
  pidFilePath: /var/run/mongodb/mongod.pid

net:
  port: 27017
  bindIp: 0.0.0.0

security.authorization: enabled

您可能还会发现使用其中一种管理工具通过GUI管理您的用户(假定您在Windows客户端上)更为容易,因为通过命令行完成所有操作要容易得多...

更新配置后,请记住重新启动Mongod实例,并检查/var/log/mongodb/mongod.log的日志文件,以确保启动时没有错误。

记住,您需要授予用户访问任何给定数据库的权限,我将用户分配给每个数据库,而不是通过'admin'数据库分配-我觉得这更容易。

最后-如果您发现自己由于某种原因而被锁定, 请不要惊慌! 只需将配置行security.authorization: enabled更改为disabled并重新启动实例,您将无需任何身份验证即可登录!

日志文件还将为您提供有关访问问题的指针,因此请在测试/设置用户时进行检查。

并且请记住,一旦完成保护部署的安全,并检查您是否无法登录或在没有有效登录的情况下无法执行任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM