创建mongodb_foo用户,密码设置为10762,授予针对test_db数据库只读的角色权限并测试是否可以连接成功;
时间: 2024-10-16 21:15:20 浏览: 40
在MongoDB中创建一个用户并设置特定权限通常涉及到使用命令行工具或 MongoDB 的`mongo`客户端。以下是步骤:
1. **创建用户**:
使用 `use admin` 登录到admin数据库(如果没有登录,需要先运行 `mongo` 然后输入用户名 admin 和初始密码,通常是 "admin" 或者空字符串,取决于你的配置),然后创建用户:
```
use admin;
db.createUser({
user: "mongodb_foo",
pwd: "10762", // 设置密码
roles: [{ role: "readOnly", db: "test_db" }], // 只读权限
});
```
2. **验证用户和权限**:
切换回test_db数据库并尝试使用新创建的用户连接,如果权限设置正确,应该只能读取数据:
```
use test_db;
db.runCommand({ authenticate: { user: "mongodb_foo", pwd: "10762" } }); // 连接并验证
```
如果连接成功并且没有提示错误,那么说明用户已经创建并赋予了预期的只读权限。
相关问题
mongodb 创建用户并设置所有权限,并绑定到自定义数据库
在MongoDB中,创建用户并为其分配所有权限通常涉及到以下几个步骤,这里假设你已经安装了MongoDB服务器:
1. **登录至MongoDB shell**:
打开终端或命令提示符,运行 `mongo` 或者 `mongo <your_database_name>` (如果尚未连接到特定数据库),输入密码。
2. **使用`db.createUser()`方法创建用户**:
```
use admin; // 首先切换到admin数据库(管理用户操作)
var createUserCommand = {
user: "<username>", // 用户名
pwd: "<password>", // 密码
roles: [ { role: "root", db: "your_database_name" } ] // 设置角色,root表示所有权限
};
db.createUser(createUserCommand);
```
这里将创建一个名为 `<username>` 的新用户,密码为 `<password>`,并将其权限绑定到 `<your_database_name>` 数据库。
3. **验证用户已成功创建并拥有所有权限**:
使用刚创建的用户登录:
```
mongo -u <username> -p <password>
```
4. **检查用户角色**:
```
show users;
```
应该能看到你的用户名,角色列显示为 "root",这表明用户有所有权限。
阅读全文