在Ubuntu上限制MongoDB的访问权限,可以通过以下几个步骤来实现:
首先,你需要创建一个专用的MongoDB用户,而不是使用默认的mongodb用户。这样可以更好地控制访问权限。在终端中运行以下命令:
sudo adduser mongodb
在/etc/mongod.conf.d目录下创建一个新的配置文件,例如mongodb.conf。在这个文件中,你可以设置访问控制选项。例如:
security:
authorization: enabled
这将启用MongoDB的访问控制功能。
保存配置文件后,重启MongoDB服务以使更改生效:
sudo systemctl restart mongod
现在,你可以使用新创建的mongodb用户登录MongoDB。在终端中运行以下命令:
mongo -u mongodb -p your_password --authenticationDatabase admin
将your_password替换为你为mongodb用户设置的密码。
登录MongoDB后,你可以创建新的数据库和用户,并为他们分配权限。例如,以下命令将创建一个名为mydb的数据库,并为用户myuser分配读取和写入权限:
use mydb
db.createUser({
user: "myuser",
pwd: "myuser_password",
roles: [
{ role: "readWrite", db: "mydb" }
]
})
将myuser_password替换为你为myuser用户设置的密码。
如果你想限制哪些IP地址可以访问MongoDB,可以在/etc/mongod.conf.d/mongodb.conf文件中添加bindIp选项。例如,如果你只想允许本地访问,可以将bindIp设置为127.0.0.1:
net:
port: 27017
bindIp: 127.0.0.1
如果你想允许多个IP地址访问,可以用逗号分隔它们,例如:
bindIp: 127.0.0.1,192.168.1.100
完成这些步骤后,你应该已经成功限制了Ubuntu上MongoDB的访问权限。