ubuntu 中 mongodb 数据读写权限配置
首先,我们先对mongodb 数据库的权限做一点说明:
1 默认情况下,mongodb 没有管理员账号
2 只有在 admin 数据库中才能添加管理员账号并开启权限
3 用户只能在所在的数据库中登录,包括管理员账号
4 管理员可以管理所有数据库,但不能直接管理,需要在 admin 里认证后才能
一、设置管理员账号
ssh 登录服务器,执行:
// 开启ubuntu上的数据库
sudo mongod service start
// 使用shell
mongo --port 19999
// 切换到 admin 数据库
use admin
// 创建管理员 fayin
db.createUser({user: 'fayin', pwd: 'fayin@39.108', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]})
// 为账号授权,返回 1 表示成功
db.auth('fayin', 'fayin@39.108')
二、设置单数据库用户权限
接着上一个步骤,我们分别为不同的数据库创建不同的用户角色。注意:每次创建新的用户之前,需要use admin 和 db.auth('fayin', 'fayin@39.108').
// 创建用户 fayin_blog 对数据库 vueBlog 拥有读写权限。
use vueBlog
db.createUser({user: 'fayin_blog', pwd: 'fayin_blog@39.108', roles: [{
role: 'readWrite',
db: 'vueBlog'
}])
// 创建用户 fayin_blog_read 对数据库 vueBlog 拥有读权限。
use vueBlog
db.createUser({user: 'fayin_blog_read', pwd: 'fayin_blog_read@39.108', roles: [{role: 'read',db: 'vueBlog'}])
三、修改配置文件,开启数据库登录验证
sudo vi /etc/mongod.conf
找到 security 项,键入:
security
authorization: 'enabled'
保存并退出,重启mongodb:sudo service mongod restart
四、重新登录数据库
当重启生效后,我们再次使用数据库,会报错:not authorized on admin to execute command ,所以,我们需要先登录 admin 数据库:即使用哪个数据库之前,需要先对用户进行授权。
use admin
db.auth('fayin', 'fayin@39.108')
ubuntu 中 mongodb 数据读写权限配置的更多相关文章
- Ubuntu中MongoDB安装
在Ubuntu中MongoDB有时候启动不起来,可以参考以下方法从新安装: 1.导入包管理系统使用的公钥 Ubuntu 的软件包管理工具(即dpkg和APT)要求软件包的发布者通过GPG密钥签名来确保 ...
- python中在ubuntu中安装虚拟环境及环境配置
python中在ubuntu中安装虚拟环境及环境配置 1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install ...
- mongodb安装与权限配置
mongodb下载地址:官方下载IDE工具:Robo 3T:官方下载 windows系统要求64位,最低2g内存,推荐8g内存及以上 安装过程没有需要配置的地方,直接下一步到结束,如果想要方便可以在环 ...
- Ubuntu设置目录的读写权限(Linux命令chmod 777 dirName)
更改文件所有者 sudo chown system_username /location_of_files_or_folders 更改文件的权限 鼠标右按钮点击文件/目录 -> 属性 权限 分页 ...
- Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现
一.安装 ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要安装两个包. 必需安装的两个包: 代码 sudo apt-get install sendmail ...
- OA项目实战学习(7)——初始化数据&权限配置显示
详细有哪些功能: 初始化数据 权限数据. 超级管理员. Installer.java package cn.xbmu.oa.install; import javax.annotation.Resou ...
- Ubuntu 中 java 环境 (sunjdk) 的配置 (附详细说明)
暑假以来为了鼓捣双系统废了很大的劲儿,本来一股脑想装 CentOS,无奈怎么处理分区引导都不能成功地与 Win8 共存,最终用 Ubuntu 一句 "检测到系统上有 Windows Boot ...
- Environment中针对的读写权限判断
Android应用开发中,常使用Environment类去获取外部存储目录,在访问外部存储之前一定要先判断外部存储是否已经是可使用(已挂载&可使用)状态,并且需要在AndroidManifes ...
- Ubuntu中Nginx的安装与配置
原文地址:http://www.cnblogs.com/languoliang/archive/2013/04/01/nginx.html 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务 ...
随机推荐
- 21个ui设计技巧,让你的设计不落伍
1.功能性极简主义 不少移动端APP和网站开始基于极简主义设计风来设计,而极简主义本身并非关注所有的信息,而是通过减少非关键信息来突出特定的内容,它是有着极强的功能性和偏向的.它有着如下的特征: ・简 ...
- jquery阻止表单提交
<form action="" method="post" onSubmit="return confirm();" > < ...
- Java数据结构和算法(二)顺序存储的树结构
Java数据结构和算法(二)顺序存储的树结构 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 二叉树也可以用数组存储,可以和完 ...
- Spring Boot之初始化项目
最简单的从Spring官网下载 :地址 https://start.spring.io/ 下拉选择需要的Spring Boot版本 修改Group和Artifact 直接点击Generate Pro ...
- css页面组件
页面组件 1 元素的尺寸/边框/背景 1.1 css尺寸相关属性 height 高度 min-height 最小高度 max-height 最大高度 width 宽度 min-width 最小宽度 m ...
- 2018.09.02 bzoj1296: [SCOI2009]粉刷匠(dp套dp)
传送门 dp好题. 先推出对于每一行花费k次能最多粉刷的格子数. 然后再推前i行花费k次能最多粉刷的格子数. 代码: #include<bits/stdc++.h> #define N 5 ...
- 2018.08.30 Tyvj1952 Easy(期望dp)
Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连 ...
- 2018.08.04 洛谷P3380 【模板】二逼平衡树(树套树)
传送门 技不如人,写的权值线段树套线段树在bzoj上无论如何都卡不过空间. 这是一道树套树简单题,感觉没什么好说的. 直接权值线段树套平衡树就行了. 代码: #include<bits/stdc ...
- HDU 2095 find your present (2) (异或)
题意:给定n个数,让你找出那一个次数为1的. 析:由于题意说了,只有那一个数是奇数,所以其他的都是偶数,根据异或的性质,两个相同的数异或为0: 任何数和0异或得原数,可以很简单的做出这个题. 代码如下 ...
- python cov()
在PCA中涉及到了方差var和协方差cov,下面详细了解这两个函数的用法.numpy中var和cov函数求法和MATLAB中var和cov函数求法类似. 首先均值,样本方差,样本协方差公式分别为 其中 ...