python | 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: ‘[email protected]‘, roles: [{role: ‘userAdminAnyDatabase‘, db: ‘admin‘}]})

// 为账号授权,返回 1 表示成功
db.auth(‘fayin‘, ‘[email protected]‘)

二、设置单数据库用户权限

接着上一个步骤,我们分别为不同的数据库创建不同的用户角色。注意:每次创建新的用户之前,需要use admin 和 db.auth(‘fayin‘, ‘[email protected]‘).


// 创建用户 fayin_blog 对数据库 vueBlog 拥有读写权限。
use vueBlog

db.createUser({user: ‘fayin_blog‘, pwd: ‘[email protected]‘, roles: [{
    role: ‘readWrite‘,
    db: ‘vueBlog‘
}])

// 创建用户 fayin_blog_read 对数据库 vueBlog 拥有读权限。
use vueBlog

db.createUser({user: ‘fayin_blog_read‘, pwd: ‘[email protected]‘, 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‘, ‘[email protected]‘)

原文地址:https://www.cnblogs.com/huangjiangyong/p/12131459.html

时间: 2024-10-06 14:20:24

python | ubuntu 中 mongodb 数据读写权限配置的相关文章

Ubuntu中Nginx的安装与配置

Ubuntu中Nginx的安装与配置 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器. 2.对PHP支持 目前各种web 服务器对PHP的支持一共有三种: (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl 可以对perl支持. (2)通过CGI来实现,这个就好比之前per

python编程中在ubuntu中安装虚拟环境及环境配置

1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install --upgrade 包名` 2.python虚拟环境安装 sudo apt-get install python-virtualenv sudo easy_install virtualenvwrapper 上述工具装好后找不到mkvirtualenv命令,需要执行以下环境变量设置. 1.创建目录用来存放虚拟环境 mkdir $HOME/.virtua

Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现

一.安装软件包 ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要安装两个包. 必需安装的两个包: sudo apt-get install sendmail sudo apt-get install sendmail-cf 安装工具包: Ubuntu下使用最常用的mail功能,需要安装mailutils, 安装命令:sudo apt-get install mailutils 使用带附件的功能,则还需要安装sharutils, 安装命令:sudo apt

python pandas 中文件的读写——read_csv()读取文件

read_csv()读取文件1.python读取文件的几种方式read_csv 从文件,url,文件型对象中加载带分隔符的数据.默认分隔符为逗号read_table 从文件,url,文件型对象中加载带分隔符的数据.默认分隔符为制表符(“\t”)read_fwf 读取定宽列格式数据(也就是没有分隔符)read_cliboard 读取剪切板中的数据,可以看做read_table的剪切板.在将网页转换为表格时很有用2.读取文件的简单实现程序代码: df=pd.read_csv('D:/project/

Environment中针对的读写权限判断

Android应用开发中,常使用Environment类去获取外部存储目录,在访问外部存储之前一定要先判断外部存储是否已经是可使用(已挂载&可使用)状态,并且需要在AndroidManifest.xml文件中添加外部存储读和写的权限. Environment类中提供了几个静态常量用于标识外部存储的状态,这些状态都是String类型直接使用equals()判断即可! SD状态 现象描述 /mnt/sdcard目录是否存在 canRead返回 canWrite返回 在/mnt/sdcard创建文件

Ubuntu中部署Django项目的配置与链接MySQL

Django的简介 MVT模式的介绍创建项目的虚拟环境 本次使用的是pip安装 一.更新 sudo apt update 二.安装pip sudo apt install python3-pip 三.升级pip(可忽略) sudo python3 -m pip install --upgrade pip 参考链接:https://my.oschina.net/doctorlzr1988/blog/1560215 四.安装virtualenv.virtualenvwrapper sudo pip3

Ubuntu中Nginx的安装与配置全过程

1. 在终端运行命令:$sudo apt-get install nginx ubuntu安装Nginx之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下 启动程序文件在/usr/sbin/nginx 日志放在了/var/log/nginx中,分别是access.log和error.log 并已经在/etc/init.d/下创建了启动脚本nginx 默认的虚拟主机的目录设置在了/usr/share/

vue中访问数据接口的配置

业务API接口地址: http://localhost:3816/api/ 前端UI浏览地址:http://127.0.0.1:8080/#/home 由于同源策略的问题: 需要配置代理: 在开发环境下配置如下:config/index.js assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/api': { //将www.exaple.com印射为/apis target: 'http://localhost

Ubuntu中sendmail的安装、配置

因为项目需要一个邮件服务器功能,用已有的企业邮箱又有各种限制,就来捣鼓了下和这个相关的一些东西.一般是有好几个选择,比如Postfix,sendmail,qmail,第一个我之前用过,但是项目需求只有发邮件,也不知怎的就选择了sendmail,事实证明还是不要作,废话不说,结合自己的一些经验总结一下,希望能让大家少踩坑. 一.安装 必装: sudo apt-get install sendmail sudo apt-get install sendmail-cf sudo apt-get ins