mongodb3 权限认证问题总结

mongodb3 权限认证问题总结

标签(空格分隔): mongodb 权限 数据库 认证


ubuntu用户安装最新版本mongodb

  1. 添加key
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

  2. 写进ubuntu软件源
    echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  3. 更新系统
    sudo apt-get update

  4. 安装mongodb
    sudo apt-get install mongodb-org

  5. 查看mongodb服务是否开启
    ps -ef grep mongod

  6. 没有开启的话你就自己开启吧
    sudo service mongod start
    查看服务的状态:sudo service mongod status
    实在不行的话就用这种方式: sudo mongod -f /etc/mongod.conf

  7. 创建管理员角色
    管理员角色必须在你添加--auth认证参数之前创建,不然之后你就没有权限可操作了。如果你之前已经有了用户,那么就删除用户吧。
    use admin
    db.system.users.remove({}) --> 删除所有用户
    db.system.version.find() --> 查看当前的authSchema(认证模式),默认的为5是SCRAM-SHA-1模式,当然你可以改为3是MONGODB-CR模式

    更改认证模式:db.system.version.remove({}) --> 删除当前认证模式。
    db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 }) --> 添加当前的认证模式为3

    然后添加管理员角色吧
    use admin
    db.createUser({
    user: "root",
    pwd: "root",
    roles: [ { role: "userAdminAnyDatabase", db: "admin"} ]})

  8. 重启服务登录认证
    sudo pkill mongod --> 杀死服务,很方便。
    sudo mongod -f /etc/mongod.conf --fork --auth --> 以认证模式启动服务
    然后ps -ef grep mongod查看服务是否启动

  9. 用户登录
    mongo
    use admin
    show dbs; --> 出错,因为你没有权限
    db.auth('root','root'); --> 登录认证
    show dbs; --> ok
    db.system.users.find() --> 显示用户信息,你可以看看authSchema后面事那种模式

更多相关文章
  • Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比RBAC更方便 . RBAC是按节点进行认证的,如果要控制比节点更细的权限就有点困难了,比如页面上面的操作按钮, 我想判断用户权限来显示这个按钮, 如果没有权限就不会显示这个按钮: 再比如 ...
  • 一.引用shiro插件 //在BuildConfig的plugins下面添加 compile ":shiro:1.2.1" 二.引用新插件后要进行编译 //grails命令 compile 三.生成脚手架文件 //grials命令 , 要注意的是后面的那个点,否则生成好的文件会混 ...
  • 类别:原创 服务器 本文参考 svn 基础搭建 参考 http://jedy82.blog.51cto.com/425872/1395834 http://blog.csdn.net/sxhong/article/details/9176881 svn 操作命令 参考 http://blog.csd ...
  • 原文:Bootstrap+Thinkphp3.2+Auth认证+jquery-validator后台Auth权限认证 本例采用auth权限认证,用户和用户组采用多对多关系处理,自动添加rule规则,带有jquery-validator插件,自动控制菜单显示或隐藏.   config.php中的配置 ...
  • 1. SharpSvn简介 SharpSvn.dll 是为.Net 2.0-4.0+ 应用提供的 Subversion Client API,更多详细介绍请见 https://sharpsvn.open.collab.net/. 2. 鉴权操作 SharpSvn 通过 Authentication ...
  • 


    		    一小時學會用Python Socket 開發可並發的FTP伺服器!!
    socket是什么 什么是socket所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.说白了就是一种通信机制.它类似于银行,电信啊这些部分的电话客服部门.你打电话的时候 ...
  •     (1)登录到数据库所在服务器,手工kill掉MySQL进程:   kill ' cat /mysql-data-directory/hostname.pid'     其中,/mysql-data-directory/hostname.pid指的是MySQL数据目录下的.pid文件,它记录了
  • 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis连接池的话,还需
一周排行
  • 


    		    nagios安裝配置pnp4nagios0.6
    煮酒品茶:好久之前写的文章,放在论坛里,取出来共享之. Repost:http://dei
  • RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据"镜像".RAID 1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份.RAID ...
  • 轉phpredis中文手冊
    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...
  • MT6582 Android 驱动设置问题   MT6577是MTK公司的双核处理器的3G手机芯片,下面是整理的MT6577 Android驱动设置:     1. LCD   1.1怎样新建一个LCD驱动   LC ...
  • 


    		    Veeam Backup & Replication幾種備份方式詳解
    前进的永久增量备份(Forward Incremental-Forever Backup) ...
  • Finance knowledge TradingAt the core of our business model is Trading, which involves the buying and selling ...
  • 


    		    SQLServer 2005 Cluster
    步骤 节点1 节点2 磁盘 阵列柜 说明 安装配置服务器与网络 开机 开机 断电 确保磁盘
  •   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht ...
  •   当一个容器变化时,指向该容器中元素的迭代器可能失效.这使得在迭代器变化期间改变容器容易出现问题.在这方面,不同的容器提供不同的保障:vectors: 引起内存重新分配的插入运算使所有迭代器失效,插入也使得插入位置
  • 在Russ Houberg的博客刚刚得知微软发布的官方文档MOSS关于大规模内容存储以及性能的文档. Case Study: Using Microsoft® Office SharePoint® Server to ...