前言
- 本文对 MongoDB 4.2.x 适用
- 本文对 Ubuntu 18.04 LTS 适用
实例
$ mongo 127.0.0.1
> show dbs;
> use admin;
> show users;
> db.createUser({user:"root",
pwd: passwordPrompt(), // 也可以直接给明文字符串
roles: [{role:"root", db:"admin" }]
});
> db.changeUserPassword('root', 'rootNew'); // 修改密码
# 授予 root 权限
> db.grantRolesToUser( "admin" , [{role: "root", db: "admin"}])
# 取消 root 权限
> db.revokeRolesFromUser( "admin" , [{role: "root", db: "admin"}]
- 编辑配置文件(/etc/mongod.conf),开启认证
security:
authorization: enabled
sudo systemctl restart mongod
$ mongo 127.0.0.1/admin -u root
// 创建管理员用户
// roles: ["dbAdminAnyDatabase", "readWriteAnyDatabase"] 与下面两种写法等价
// [{role: "dbAdminAnyDatabase", db: "admin"}, {role: "readWriteAnyDatabase", db: "admin"}]
// roles: [{role: "dbAdminAnyDatabase", db: "admin"}, "readWriteAnyDatabase"]
> use admin
> db.createUser(
{
user: "myUserAdmin",
pwd: passwordPrompt(), // 也可以直接给明文字符串
roles: ["dbAdminAnyDatabase", "readWriteAnyDatabase"]
}
)
// 创建普通用户
> use test
> db.createUser(
{
user: "myTester",
pwd: passwordPrompt(), // 也可以直接给明文字符串
roles: [{role: "readWrite", db: "test"},
{role: "read", db: "reporting"}]
}
)
本文出自 qbit snap
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。