在阿里云建立了mongodb测试数据库,用了盗版软件登录,估计账号泄露,被黑客删库,留下勒索邮件,还好只是测试用的,下面说明设置权限登录步骤。
1.进入命令行:
运行
mongo
2.切换到admin:
use admin
3.添加管理员:
用户名与密码根据自己情况修改
db.createUser({
user: 'root',
pwd: 'root',
roles: ['root']
})
可按情况添加其他用户
db.createUser({
user: 'shino',
pwd: 'shino',
roles: [{ role: 'readWrite', db: 'demo' }]
})
这行代码意思是创建一个shino用户,给予读写权限,db表示该用户操作的数据库名。
- read 允许用户读取指定数据库
- readWrite 允许用户读写指定数据库
- dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
- clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
- readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的- dbAdmin权限
- root 只在admin数据库中可用。超级账号,超级权限
4.授权验证
db.auth('root', 'root')
如果返回 '1’表示验证成功, 如果是 ‘0’ 表示验证失败。
5.修改mongodb配置文件
- bindIp 修改为 0.0.0.0 允许外部访问;
- authorization: disabled (改为enabled来启用)