mongo管理员权限
2018-09-06 本文已影响0人
杜大个
超级管理员
- 为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户
- 采用了角色-用户-数据库的安全管理方式 常用系统角色如下:
- root:只在admin数据库中可用,超级账号,超级权限
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
创建超级管理用户
use admin
db.createUser(
{
user:'admin',
pwd:'123',
roles:[{role:'root',db:'admin'}]
}
)
创建成功后退出mongodb客户端, 然后service mongodb stop, 再开启安全认证,
启用安全认证
- 进入配置文件并修改sudo vi /etc/mongod.conf
- 启用身份验证
方式一:新版本 注意:keys and values之间一定要加空格, 否则解析会报错 security: authorization: enabled
方式二:较低版本 或者修改配置文件将auth=true前面的注释拿掉然后保存并退出
最后: 重新启动mongodb
service mongodb start
如果这时候按照以前的操作会提示权限
140F108B-0752-4AB4-8597-ACC0DA710192我们需要使用我们创建的账号密码来登录:
60326859-5412-4929-B432-B39B7E481D62创建普通用户管理 使用超级管理员登录,然后进入用户管理操作 查看当前数据库的用户
697424A8-EEA2-4952-899D-C70C367D9AC2use admin
db.createUser(
{
user:'t1',
pwd:'123',
roles:[{role:'readWrite',db:'test1'}]
}
)
2038D5B8-665E-4274-9FCB-325C6534211B
创建成功后我们先退出,然后用普通用户权限连接:
这是我的设置的普通用户账号,同学们可以自己设置自己的。
mongo -u 'ljh' -p 'ljh123' --authenticationDatabase generalUser
68FBCB94-F6F0-4BD3-8983-7D382D2E93AB修改普通用户权限或密码
- 修改用户:可以修改pwd、roles属性
- 注意这里只有超级管理员才有权限修改普通用户的密码和管理权限
db.updateUser(‘ljh',{pwd:'456'})
db.grantRolesToUser('username',[role:'',db:''])
db.revokeRolesFromUser('username',[{role:'',db:''}])
db.dropUser('username')
use admin db.system.users.remove({user:'username'}) db.system.users.find()