mongodb 添加用户认证
时间: 2024-09-11 21:07:57 浏览: 45
在MongoDB中添加用户认证是为了保护数据库资源,确保只有授权的用户可以访问数据。以下是添加用户并设置权限的基本步骤:
1. **启动MongoDB时启用认证**:首先,在启动mongod服务时需要开启安全模式(--auth选项)。例如:
```
mongod --auth
```
2. **创建管理员用户**:使用命令行工具如mongo,以root用户(默认是admin)连接数据库并创建一个新的管理员用户:
```bash
mongo
use admin
db.createUser({
user: "your-username",
pwd: "your-password", // 加密密码,可以使用`mongoUtil`: `mongoUtil.generatePassword()`
roles: [{ role: "root", db: "admin" }]
})
```
3. **切换回普通用户**并登录:
```bash
exit
mongo your-database-name
db.auth("your-username", "your-password")
```
4. **为其他用户添加角色和权限**:
- 创建新用户:
```bash
db.createUser({
user: "new-user",
pwd: "new-user-password",
roles: [{ role: "readWrite", db: "your-database-name" }] // 或者指定特定集合的角色
})
```
5. **查看和管理用户和角色**:
```bash
use admin
db.getCollection("users").find()
db.getCollection("roles").find()
```
记得在生产环境中,密码应该存储为哈希值而不是明文。同时,定期更新用户密码和审计安全性是非常重要的。
阅读全文