在CentOS上管理MongoDB用户和角色的步骤如下:
首先,你需要登录到MongoDB shell。你可以使用以下命令:
mongo
要在MongoDB中创建用户,你需要使用db.createUser()
方法。以下是一个示例:
use admin
db.createUser({
user: "myUserAdmin",
pwd: "myUserAdminPwd",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
})
在这个例子中:
user
: 用户名pwd
: 密码roles
: 用户的角色和权限如果你需要创建自定义角色,可以使用db.createRole()
方法。以下是一个示例:
use admin
db.createRole({
role: "customRole",
privileges: [
{ resource: { db: "myDatabase", collection: "" }, actions: ["find", "insert"] }
],
roles: []
})
在这个例子中:
role
: 角色名privileges
: 权限列表roles
: 继承的角色列表你可以使用db.grantRolesToUser()
方法将角色授予用户。以下是一个示例:
use admin
db.grantRolesToUser("myUserAdmin", [
{ role: "customRole", db: "myDatabase" }
])
在这个例子中:
myUserAdmin
: 用户名roles
: 要授予的角色列表你可以使用以下命令查看数据库中的用户和角色:
use admin
db.system.users.find()
use admin
db.system.roles.find()
你可以使用db.dropUser()
方法删除用户。以下是一个示例:
use admin
db.dropUser("myUserAdmin")
你可以使用db.dropRole()
方法删除角色。以下是一个示例:
use admin
db.dropRole("customRole")
你可以使用db.changeUserPassword()
方法更新用户密码。以下是一个示例:
use admin
db.changeUserPassword("myUserAdmin", "newUserAdminPwd")
为了确保MongoDB使用认证,你需要在mongod.conf
文件中启用认证。编辑/etc/mongod.conf
文件,添加或修改以下行:
security:
authorization: enabled
然后重启MongoDB服务:
sudo systemctl restart mongod
完成这些步骤后,MongoDB将要求所有连接都进行身份验证。
通过这些步骤,你可以在CentOS上有效地管理MongoDB的用户和角色。