mongo-yum安装-配置用户权限

安装

安装步骤参考https://www.cnblogs.com/layezi/p/7290082.html

安装前注意: 此教程是通过yum安装的.仅限64位centos系统

安装步骤:

1、创建仓库文件:

vi /etc/yum.repos.d/mongodb-org-3.4.repo

然后复制下面配置,保存退出

[mongodb-org-3.4]

name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

2、yum安装

yum install -y mongodb-org

没有权限就在前面加:   sudo

安装完毕后修改配置文件:

vi /etc/mongod.conf

修改配置文件的 bind_ip, 默认是 127.0.0.1 只限于本机连接。所以安装完成后必须把这个修改为 0.0.0.0 ,否则通过别的机器是没法连接的!

3、启动、停止、重启

MongoDB默认将数据文件存储在/var/lib/mongo目录,默认日志文件在/var/log/mongodb中。如果要修改,可以在 /etc/mongod.conf 配置中指定备用日志和数据文件目录。

启动命令:

service mongod start

停止命令:

service mongod stop

查看mongoDB是否启动成功:

可以通过查看日志文件

cat /var/log/mongodb/mongod.log

日志文件应该会出现如下一句说明

[initandlisten] waiting for connections on port <port>

<port> 是mongodb运行端口

也可以通过下面命令检查是否启动成功

chkconfig mongod on

4、使用

[root@instance-d0nk2r2c ~]# mongo

## 查看数据库
> show dbs;

## 查看数据库版本
> db.version();

## 常用命令帮助
> db.help();

权限

和其他所有数据库一样,权限的管理都差不多一样。mongodb存储所有的用户信息在admin 数据库的集合system.users中,保存用户名、密码和数据库信息。mongodb默认不启用授权认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,需要更改配置文件参数auth。

想要添加用户密码验证首先需要添加用户,用户存在system.users 表中

> use admin
switched to db admin
 db.createUser({user:‘admin‘,pwd:‘admin123‘,roles:[{ "role" : "userAdminAnyDatabase", "db" : "admin" }]})

刚建立了 userAdminAnyDatabase 角色,用来管理用户,可以通过这个角色来创建、删除用户。

有没有一个超级权限?不仅可以授权,而且也可以对集合进行任意操作?答案是肯定的,只是不建议使用。那就是role角色设置成root

db.createUser({user:‘root‘,pwd:‘root‘,roles:[{ "role" : "root", "db" : "admin" }]})

添加了两个用户可以语句查看:

db.system.users.find()

此时连接仍然是没有验证的,我们需要重启mongodb,并且要在启动时带上auth参数,才会开启验证

/usr/bin/mongod -f /etc/mongod.conf --auth

用户角色授权:

#授予角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ])  

db.grantRolesToUser( "admin" , [ { role: "userAdminAnyDatabase", db: "admin" } ])  

#取消角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ])  

db.revokeRolesFromUser( "admin" , [ { role: "userAdminAnyDatabase", db: "admin" } ])  

roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:

Built-In Roles(内置角色):
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数据库中可用。超级账号,超级权限
时间: 2024-10-23 04:20:04

mongo-yum安装-配置用户权限的相关文章

Linux(CentOS 7.0)下使用yum安装配置和使用svn.

Linux(CentOS 7.0)下使用yum安装配置和使用svn. 转载就标明原地址:  http://blog.csdn.net/u010587274/article/details/51015291 个人微信公众号:tanzi_888 (潭子技术圈) 一  安装说明 系统环境:CentOS-7.0安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 笔者用户:root 二 检查已安装版本 #检查是否安装了低版本的SVN[[email prot

puppet yum安装配置,简单证书维护

Puppet学习之puppet的安装和配置 一.Puppet简介 Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理.Puppet适用于服务器管的整个过程 ,比如初始安装.配置更新以及系统下线. 二.Puppet的安装 Puppet的安装方式支持源码安装.yum安装以及ruby的gem安装.官网推荐使用yum来安装puppet,方面以后的升级.管理.维护.Cento

MongoDB下配置用户权限

MongoDB默认设置为无权限访问限制 注:研究成果基于Windows平台 在部署mongodb成功后,进入控制台: 输入命令:mongod  use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看 里我添加一个超级管理员用户,username为admin,password也为admin,即然我们添加了超级管理员,那咱们就来测试下,看看咱们再次连接MongoDB需不需要

CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)

以下全部转载于  http://blog.csdn.net/lane_l/article/details/20235909 本人于今晚按照该文章使用centos 6.7 64bit安装成功,做个备份,就转过来了. --------------------------------------------------------------- 转载者语: 转载于:http://www.osyunwei.com/archives/2353.html 原文标题:CentOS 6.2yum安装配置lnmp

mysql 开发进阶篇系列 45 xtrabackup 安装与用户权限说明(系统用户和mysql用户)

一. 安装说明 安装XtraBackup 2.4 版本有三种方式: (1) 存储库安装Percona XtraBackup(推荐) (2 )下载的rpm或apt包安装Percona XtraBackup. (3) 源代码编译和安装. Percona为yum (Red Hat.CentOS和Amazon Linux AMI的RPM包)和apt (Ubuntu和Debian的.deb包)提供存储库,用于Percona Server.Percona XtraBackup和Percona Toolkit

yum安装配置

1.删除redhat原有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 2.下载yum安装文件 wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.27-14.el6.centos.noarch.rpm wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-14.1.el6

CentOS系统使用yum安装配置MariaDB数据库

http://www.server110.com/mariadb/201310/2670.html 1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:[[email protected] etc]$ cd /etc/yum.repos.d[[email protected] yum.repos.d]$ vi MariaDB.repo# MariaDB 10.0 CentOS repository list - created 2013-08-23 13:08

yum安装配置mongoDB客户端和服务器端

1,Centos6.X yum安装mongoDB客户端和服务器端; yum -y install mongodb mongodb-server; 基于epel repo.当前的mongoDB的版本为2.6.X 2,配置 具体配置见Ruiy的另外一篇文章关于Centos平台下编译安装mongoDB及配置; http://www.cnblogs.com/ruiy/p/MongoDB.html

CentOS6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)

1.配置防火墙,开启80端口.3306端口        vi /etc/sysconfig/iptables        -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)        -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙) 特别提示:很多网友把这两条规则添加到防火