--auth
选项。创建一个管理员用户并赋予其适当的角色和权限。确保客户端在连接时提供正确的用户名和密码。 在MongoDB实例中启用身份验证,可以按照以下步骤进行操作:
1. 创建用户和角色
需要创建一个具有适当权限的用户,为此,我们需要使用createUser()
函数。
use admin db.createUser({ user: "myUser", pwd: "myPassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] })
上述代码将在admin
数据库中创建一个用户myUser
,并为其分配了两个角色:userAdminAnyDatabase
和readWriteAnyDatabase
,这意味着用户可以在任何数据库中执行管理任务,并且可以在任何数据库中进行读写操作。
2. 配置访问控制列表(ACL)
接下来,需要配置访问控制列表(ACL),以允许或拒绝特定用户的访问,可以使用getSiblingDB()
方法获取当前数据库的兄弟数据库,然后使用update()
方法更新其ACL。
var adminDb = getSiblingDB("admin"); adminDb.runCommand({ updateUserAccessControl: "myDatabase", acls: [ { user: "myUser", roles: ["read", "write"], database: "myDatabase" } ] });
上述代码将更新myDatabase
的ACL,以允许用户myUser
在数据库中执行读取和写入操作。
3. 启用身份验证
需要在启动MongoDB实例时启用身份验证,可以通过在命令行中添加auth
选项来实现。
mongod auth
现在,MongoDB实例已启用身份验证,当连接到数据库时,需要提供用户名和密码进行身份验证。
请注意,上述步骤是一般的指导,具体的实现可能会因你的环境和需求而有所不同,建议参考MongoDB官方文档以获取更详细的信息和示例。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。