📅  最后修改于: 2023-12-03 14:44:22.957000             🧑  作者: Mango
在MongoDB中,身份验证是一种管理和保护MongoDB数据库资源的方法。MongoDB支持多种身份验证机制,例如使用自定义用户名和密码进行身份验证,以及使用Kerberos等外部身份验证机制。本文将介绍一些MongoDB身份验证命令,供程序员参考使用。
如果要使用MongoDB身份验证功能,需要将MongoDB配置文件中的security.authorization
选项设置为enabled
。这可以通过以下方式完成:
打开MongoDB配置文件。
找到security.authorization
选项,并将其设置为enabled
。
保存并关闭文件。
重新启动MongoDB服务器。
要创建MongoDB用户,请使用db.createUser()
命令。该命令的基本语法如下:
db.createUser(
{
user: "<username>",
pwd: "<password>",
roles: [
{ role: "<role>", db: "<database>" }
]
}
)
其中,<username>
和<password>
分别为要创建的用户的用户名和密码。roles
数组中包含该用户将拥有的角色及其所属的数据库。例如,以下命令将创建一个名为testUser
,密码为testPassword
,具有在testDatabase
中读取和写入权限的用户:
db.createUser(
{
user: "testUser",
pwd: "testPassword",
roles: [
{ role: "readWrite", db: "testDatabase" }
]
}
)
要修改MongoDB用户的密码,请使用db.changeUserPassword()
命令。该命令的基本语法如下:
db.changeUserPassword("<username>", "<password>")
其中,<username>
为要修改密码的用户的用户名,<password>
为新密码。例如,以下命令将为名为testUser
的用户设置新密码newPassword
:
db.changeUserPassword("testUser", "newPassword")
要删除MongoDB用户,请使用db.dropUser()
命令。该命令的基本语法如下:
db.dropUser("<username>")
其中,<username>
为要删除的用户的用户名。例如,以下命令将删除名为testUser
的用户:
db.dropUser("testUser")
如果要禁用MongoDB身份验证功能,可以将MongoDB配置文件中的security.authorization
选项设置为disabled
。这可以通过以下方式完成:
打开MongoDB配置文件。
找到security.authorization
选项,并将其设置为disabled
。
保存并关闭文件。
重新启动MongoDB服务器。
以上就是一些常用的MongoDB身份验证命令,可以根据实际情况选择使用。