阅读量:1
MongoDB在Linux上的权限设置主要涉及用户管理、角色分配及访问控制,具体步骤如下:
-
创建用户与角色
- 切换到
admin数据库,创建管理员用户(需分配root或userAdminAnyDatabase等角色):use admin db.createUser({ user: "admin", pwd: "your_password", roles: [{ role: "root", db: "admin" }] }) - 为特定数据库创建普通用户并分配角色(如
readWrite):use myDatabase db.createUser({ user: "appUser", pwd: "app_password", roles: [{ role: "readWrite", db: "myDatabase" }] })
- 切换到
-
启用身份验证
编辑配置文件/etc/mongod.conf,添加以下内容:security: authorization: enabled重启服务生效:
sudo systemctl restart mongod -
数据目录权限设置
确保MongoDB数据目录(默认/data/db)由mongodb用户拥有,权限为755:sudo chown -R mongodb:mongodb /data/db sudo chmod 755 /data/db -
可选:加密连接(SSL/TLS)
在/etc/mongod.conf中配置SSL参数,启用加密通信:net: ssl: mode: requireSSL PEMKeyFile: /path/to/mongodb.pem CAFile: /path/to/ca.pem客户端连接时需指定证书:
mongo --ssl --sslCAFile /path/to/ca.pem --sslPEMKeyFile /path/to/mongodb.pem -u admin -p your_password -
验证权限
使用新用户登录并测试权限:mongo -u appUser -p app_password --authenticationDatabase myDatabase db.runCommand({ connectionStatus: 1 }) # 查看当前用户权限
关键说明:
- 角色分为内置角色(如
read、dbAdmin)和自定义角色,可根据需求组合分配。 - 生产环境中建议关闭默认端口
27017,并通过防火墙限制访问IP。 - 定期审计用户权限,删除冗余账户,确保最小权限原则。
以上就是关于“MongoDB在Linux上的权限设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm