温馨提示×

centos如何限制mongodb访问

小樊
34
2025-12-07 13:34:08
栏目: 云计算

在CentOS上限制MongoDB访问可以通过以下几种方法实现:

  1. 配置文件设置:

编辑MongoDB的配置文件/etc/mongod.conf,找到net部分,设置bindIp参数来限制允许访问的IP地址。例如,如果你只想允许本地访问,可以将bindIp设置为127.0.0.1

net:
  port: 27017
  bindIp: 127.0.0.1

如果你想允许多个IP地址访问,可以用逗号分隔这些IP地址:

net:
  port: 27017
  bindIp: 127.0.0.1,192.168.1.100,192.168.1.101

修改配置文件后,重启MongoDB服务:

sudo systemctl restart mongod
  1. 防火墙设置:

如果你的CentOS服务器使用了防火墙(例如firewalld),你可以添加规则来限制访问MongoDB端口(默认为27017)。

例如,使用firewalld添加规则:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="27017" accept'
sudo firewall-cmd --reload

这将允许IP地址为192.168.1.100的设备访问MongoDB端口。

  1. MongoDB用户认证:

在MongoDB中创建用户并设置访问权限,可以进一步限制对数据库的访问。首先,连接到MongoDB shell:

mongo

然后,在admin数据库中创建一个新用户,并为其分配角色和权限。例如,创建一个名为myUser的用户,允许其访问myDatabase数据库:

use admin
db.createUser({
  user: "myUser",
  pwd: "myPassword",
  roles: [
    {
      role: "readWrite",
      db: "myDatabase"
    }
  ]
})

现在,使用新创建的用户myUser和密码myPassword连接到MongoDB:

mongo -u myUser -p myPassword --authenticationDatabase admin

这样,只有具有正确用户名和密码的用户才能访问MongoDB。

结合以上方法,你可以有效地限制CentOS上MongoDB的访问。

0