美文网首页
mongo管理员权限

mongo管理员权限

作者: 杜大个 | 来源:发表于2018-09-06 09:43 被阅读0次

    超级管理员

    • 为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户
    • 采用了角色-用户-数据库的安全管理方式 常用系统角色如下:
    • root:只在admin数据库中可用,超级账号,超级权限
    • Read:允许用户读取指定数据库
    • readWrite:允许用户读写指定数据库

    创建超级管理用户

    use admin
    db.createUser(
        {   
       user:'admin',
        pwd:'123',
        roles:[{role:'root',db:'admin'}]
        }
    )
    
    

    创建成功后退出mongodb客户端, 然后service mongodb stop, 再开启安全认证,

    启用安全认证

    1. 进入配置文件并修改sudo vi /etc/mongod.conf
    2. 启用身份验证

    方式一:新版本 注意: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-C70C367D9AC2
    use 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()

    相关文章

      网友评论

          本文标题:mongo管理员权限

          本文链接:https://www.haomeiwen.com/subject/rwptgftx.html