Linux下mongodb用户管理和设置远程登陆
折腾了下linux服务器上的mongodb的远程登陆,遇到了点问题,在这里记录下来。以备以后查询。
前提:已经在linux上安装好了mongodb。安装方法这里不说了,网上各种有。
本地用到的工具(windows):mongoChef(一个可视化操作工具,可以用于3.xx版本,romongo不行)
首先vim /etc/mongodb.conf。将
auth=true //把#注释去掉,安全起见,远程登陆需要用户验证
#bind_ip 127.0.0.1 //注释掉这句,表明允许远程连接,或者指点允许远程登陆的ip
重启数据库 /etc/init.d/mongodb restart
然后连接到数据库
use admin
//创建root用户,root用户既可以创建用户,也可以对任何数据库操作,权限最高的
db.createUser(
... {
... user: "xxxx",
... pwd: "xxx",
... roles: [
... { role: "root", db: "admin" } //这里的role是设置用户的角色 ,db是指属于哪个数据库
... ]
... }
... )//或者一般情况下不用root用户,而是创建一个管理用户权限的用户,注意这个用户只有管理用户权限的权力,而没有对其他数据库操作的权利
db.createUser(
... {
... user: "tanjiahui",
... pwd: "123456@qq",
... roles: [ { role: "root", db: "admin" } ]
... }
... )
对用户进行认证
db.auth("name","passwd");
//返回了1表示成功
如果用户的权限不足的时候会报错
not authorized xxxxx
一些小tips:
如果忘记了用户的密码之类的,可以通过把auth:true注释再重启数据库再对用户进行相关创建。
- 常用的role值:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
- 相应的功能
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
然后就可以通过我们的mongochef对数据库进行远程连接了
连接后进行用用户认证,再测试相关命令
出现上图即表示成功连接到远程数据库了。
Linux下mongodb用户管理和设置远程登陆相关推荐
- linux输入一个用户看是否在工作,linux下的用户管理详解
linux下的用户管理详解 useradd 命令详解 添加用户 想要对linux下面的帐号了解的话首先必须要了解的4个配置文件[root@localhost /]# cat /etc/passwd 首 ...
- 【Linux分组权限】linux下创建用户分组及设置分组权限
Linux分组权限 一.Linux分组介绍 二.文件权限以及分组权限设置 三.案例练习 四.参考 一.Linux分组介绍 1.用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linu ...
- linux下创建用户分组及设置分组权限
用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建 ...
- linux ssh无需密码,linux下 ssh 实现无需密码的远程登陆
主机A(OpenSUSE12.1):119.78.222.95 主机B (Fedora16): 202.122.25.36 1.主机A:生成秘钥对id_rsa和id_rsa.pub linux-9ju ...
- Linux 下的用户、用户组、文件权限设置
给用户增加执行权限 chmod u+x a.txt 给用户所属组增加写权限,其他用户删除读权限 chmod g+w,o-r a.txt 给用户所属组增加读写执行权限 chmod g=rwx a.txt ...
- linux sftp没有读写权限,Linux下SFTP用户权限设置条件及实现命令
Linux下SFTP用户权限设置条件及实现命令 众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的,今天的教程就是教大家进行SFTP用户权限设置. 必要条件: 你的op ...
- linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码)
Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...
- Linux下mongodb安装及数据导入导出教程
Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...
- Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务,集群部署,数据导出和恢复
关于MongoDB的windows的 安装,可以参考: http://www.runoob.com/mongodb/mongodb-window-install.html 关于Linux的安装可以参考 ...
- Centos下MySql用户管理
Centos下MySql用户管理 1.创建用户 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 2.用户授权 GRANT privile ...
最新文章
- csharp: 百度语音合成
- 怎么看python环境变量配置是否好了验证图片_简述验证Anaconda是否安装成功的两种方式和Anaconda环境变量配置过程...
- MacBook Air的命令终端如何在root和普通用户之间切换
- SQL Server 内存中OLTP内部机制概述(二)
- android工程怎么连手机,安卓手机怎么进工程模式 安卓手机进工程模式教程【详解】...
- 最常用计算机语音,计算机常用词汇--语言及服务器篇
- 【转】SQL SERVER2005版本介绍
- 十四步实现拥有强大AI的五子棋游戏
- 10/13 Total variation loss 全变分
- Uncaught Exception: Error [ERR REQUIRE ESM]: requireO of ES Modul……
- android 消息提示机制
- 程序媛的芳华,女神节快乐!
- 北京大学可视化暑期学校Day1总结
- 罗技M545鼠标是不是垃圾鼠标中的战斗机?
- python常用库安装网址
- win2012 加域_Windows Server 2012 域设置及客户端加入
- 解决台式机突然卡死的问题
- java面向对象程序设计题库_java面向对象程序设计习题集.doc
- 免费创建微信公众号全攻略(转载)
- 联想-thinkbook-有线网卡故障和有线网卡故障-修改方法