MongoDB是一种流行的非关系型数据库,它可以在Linux系统中运行。为了保证数据库的安全性和访问控制,我们需要在MongoDB中创建用户和分配角色。本文将介绍如何在Linux下使用MongoDB命令行创建用户和角色,并设置相应的权限。
首先,我们需要启动MongoDB服务,并连接到数据库。在Linux终端中,输入以下命令:
sudo service mongod start 启动MongoDB服务
mongo 连接到默认数据库
然后,我们需要切换到admin数据库,这是MongoDB的系统数据库,用于存储用户和角色信息。输入以下命令:
use admin 切换到admin数据库
接下来,我们需要创建一个超级管理员用户,这个用户拥有所有数据库的所有权限。输入以下命令:
db.createUser({user: \"root\", pwd: \"123456\", roles: [\"root\"]}) 创建一个用户名为root,密码为123456,角色为root的用户
然后,我们需要验证这个用户的身份,以便使用其权限。输入以下命令:
db.auth(\"root\", \"123456\") 验证用户名为root,密码为123456的用户
接下来,我们可以创建其他数据库和用户,并分配不同的角色。例如,我们可以创建一个名为test的数据库,并在其中创建一个名为user1的用户,这个用户只能读取test数据库中的数据。输入以下命令:
use test 切换到test数据库
db.createUser({user: \"user1\", pwd: \"123456\", roles: [\"read\"]}) 创建一个用户名为user1,密码为123456,角色为read的用户
然后,我们可以验证这个用户的身份,并测试其权限。输入以下命令:
db.auth(\"user1\", \"123456\") 验证用户名为user1,密码为123456的用户
db.collection.find() 查询test数据库中的集合数据,应该能够正常显示
db.collection.insert({name: \"test\"}) 尝试向test数据库中插入数据,应该会报错,因为没有写入权限
最后,我们可以根据需要创建更多的数据库和用户,并分配不同的角色。MongoDB提供了多种预定义的角色,如readWrite, dbAdmin, userAdmin等,也可以自定义角色和权限。