MongoDB 用户和权限

增加用户 删除用户 修改用户 读写权限 只读权限,

[color=red][b]MongoDB用户权限分配的操作是针对某个库来说的。--这句话很重要。
[/b][/color]

进入mongodb命令行:
cd /usr/local/mongodb/bin
./mongo

1、 进入ljc 数据库:
use ljc; --ljc为数据库名称。

[color=red]2、添加用户(读写权限,readOnly-->false):
db.addUser("java","java");[/color]

3、 查看一下所有的用户
db.system.users.find();

{ "_id" : ObjectId("4e02a89fb841deb5fda3e5e2"), "user" : "java", "readOnly" : fa
lse, "pwd" : "59cf7cc156874cbd35cb00869126f569" }
4、用户授权。
db.auth("java","java");
1 显示为1 表示授权成功,0表示不成功。


[color=red]5、 添加用户(只读权限,readOnly-->true):
db.addUser("java1","java1",true);[/color]

db.system.users.find();
{ "_id" : ObjectId("4e02a89fb841deb5fda3e5e2"), "user" : "java", "readOnly" : fa
lse, "pwd" : "59cf7cc156874cbd35cb00869126f569" }
{ "_id" : ObjectId("4e02aae6b841deb5fda3e5e3"), "user" : "java1", "readOnly" : t
rue, "pwd" : "fca6bda05c87a72cce0a4a6458d1e266" }
注意上面标红的位置的readOnly 只读于可写是有区别的。

6、更改密码(为已经存在的用户更改密码):
db.addUser("java","java1");

7、删除用户:
db.system.users.remove({user:"java1"});
### 设置 MongoDB 用户权限MongoDB 中设置用户权限涉及多个步骤,包括创建角色、定义权限以及分配这些权限给特定用户。以下是具体操作方法: #### 创建自定义角色 为了更精细地控制访问级别,可以先创建一个具有特定权限的角色。这可以通过 `db.createRole()` 方法完成。 ```javascript use admin; db.createRole({ role: "customReadAdmin", privileges: [ { resource: { db: "test", collection: "" }, actions: ["find"] } ], roles: [] }); ``` 此命令将在 `admin` 数据库中创建一个新的只读角色[^1]。 #### 添加新用户并赋予角色 接着通过 `db.createUser()` 函数添加新的数据库用户,并指定之前创建的角色或其他内置角色作为其权限基础。 ```javascript use test; // 切换到目标数据库 db.createUser({ user: "newUser", pwd: "securePassword!", roles: [{role: "readWrite", db: "test"}, "customReadAdmin"] }) ``` 上述代码片段展示了如何在一个名为 `test` 的数据库里增加一名拥有读写权限的新用户,同时还授予了前面定义好的自定义只读管理员角色。 #### 验证用户权限 一旦设置了用户及其关联的角色之后,应该验证该用户确实获得了预期的权限。可以通过尝试执行某些受限的操作来进行简单的测试,比如查询数据或修改文档内容等。 ```bash mongo -u newUser -p securePassword! --authenticationDatabase test > show collections > db.collectionName.findOne() ``` 如果一切正常,则表示用户已经成功被授予权限并且能够按照设定的方式访问资源[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值