在MongoDB中进行用户管理涉及用户的创建、分配角色、认证和登录等操作。1 连接到MongoDB
1. 连接到MongoDB
2. 切换到目标数据库
在MongoDB中,用户是针对特定数据库创建的,使用use命令切换到你要创建用户的数据库:
use <database_name>
- database_name - 为要切换的数据库。
3. 创建用户
使用db.createUser命令创建用户并分配角色。
例如,创建一个名为 testuser 的用户,密码为 password123,并赋予 readWrite 和 dbAdmin 角色:
db.createUser({
user: "testuser",
pwd: "password123",
roles: [
{ role: "readWrite", db: "<database_name>" },
{ role: "dbAdmin", db: "<database_name>" }
]
})
4. 验证用户
创建用户后,可以使用db.auth命令验证用户身份
db.auth("testuser", "password123")
5. 启动身份验证
为了确保只有经过身份验证的用户才能访问 MongoDB,需要启用身份验证。
编辑 MongoDB 配置文件 mongod.conf,并在其中添加以下内容:
security:
authorization: "enabled"
然后重启 MongoDB 服务以应用更改。
6. 使用用户身份登录
启用身份验证后,你需要使用创建的用户身份连接到 MongoDB:
mongosh --host <hostname> --port <port> -u "testuser" -p "password123" --authenticationDatabase "<database_name>"
7. 删除用户
使用 db.dropUser 命令删除指定用户。
例如,删除名为 testuser 的用户:
db.dropUser("testuser")
8. 实例操作
启动 MongoDB Shell 并连接到服务器:
mongosh --host localhost --port 27017
切换到 testdb 数据库:
use testdb
创建 testuser 用户:
db.createUser({
user: "testuser",
pwd: "password123",
roles: [{ role: "readWrite", db: "testdb" }]
})
启用身份验证并重启 MongoDB 实例
编辑 mongod.conf 文件,添加以下内容:
security:
authorization: "enabled"
重启 MongoDB 服务:
sudo systemctl restart mongod
使用 testuser 用户进行身份验证连接:
mongosh --host localhost --port 27017 -u "testuser" -p "password123" --authenticationDatabase "testdb"
删除 testuser 用户:
db.dropUser("testuser")