用户权限控制之命令篇

背景:如果数据库启动没有启用权限控制,那么只要通过IP,PORT就能连上,危险性很高,所有要设置用户访问权限。
一.在未设置权限状态下,增加访问用户。
> use admin
switched to db admin
>db.system.users.find()
> db.createUser( {user:"myUserAdmin",
pwd:"abc123",
roles:[{role:"readWriteAnyDatabase",db:"admin"}]})
Successfully added user: {
"user" : "myUserAdmin",
"roles" : [ {
"role" : "readWriteAnyDatabase",
"db" : "admin" 
}
]
})

查询是否添加成功。  >db.system.users.find()
{ "_id" : "admin.myUserAdmin", "user" : "myUserAdmin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "hSIiLvPDWvUQ7mIn8gQkHw==", "storedKey" : "EoE5VTTfT2wnyVPaGQXJfuaIY08=", "serverKey" : "cAoQwxuTGmJuswcG0rgQHME6A1Q=" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }

二 mongodb数据库启动前要用户权限论证模式开启
命令启动方式:
>../../mongodb32/bin/mongod --auth --port 10001 --dbpath /usr/mongodbtest/sd2/data --logpath /usr/mongodbtest/sd2/log/mg.log --logappend --fork

三 无用户名密码登录

[[email protected] sd2]# ../../mongodb32/bin/mongo 192.168.1.55:10001MongoDB shell version: 3.2.0connecting to: 192.168.1.55:10001/test

show dbs

2016-01-21T17:22:45.486+0800 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} :
[email protected]/mongo/shell/utils.js:23:13
[email protected]/mongo/shell/mongo.js:53:1
[email protected]/mongo/shell/utils.js:699:19
[email protected]/mongo/shell/utils.js:593:15
@(shellhelp2):1:1

use admin

switched to db admin //该语句能正常使用

db.location.count()

2016-01-21T17:24:35.836+0800 E QUERY [thread1] Error: count failed: {
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { count: \"location\", query: {}, fields: {} }",
"code" : 13
} :
[email protected]/mongo/shell/utils.js:23:13
[email protected]/mongo/shell/query.js:359:11
[email protected]/mongo/shell/collection.js:1609:12
@(shell):1:1

四 使用用户名密码登录
mongo --port 10001 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

[[email protected] bin]# mongo --port 10001 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin" 
MongoDB shell version: 3.2.0
connecting to: 127.0.0.1:10001/test

show dbs

admin 0.000GB
gwgps 0.000GB
local 0.000GB

use gwgps

switched to db gwgps

db.location.count()

7

db.location.find()

{ "_id" : ObjectId("56a0778ba88d08fdb6b30b23"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7692891, 32.06119564 ] }, "posSpeed" : NumberLong(50) } { "_id" : ObjectId("56a0779aa88d08fdb6b30b24"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7785248, 32.06083978 ] }, "posSpeed" : NumberLong(50) } { "_id" : ObjectId("56a077a3a88d08fdb6b30b25"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7929215, 32.05925674 ] }, "posSpeed" : NumberLong(50) } { "_id" : ObjectId("56a077aaa88d08fdb6b30b26"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7790411, 32.05290934 ] }, "posSpeed" : NumberLong(50) } { "_id" : ObjectId("56a077b1a88d08fdb6b30b27"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7909451, 32.0506315 ] }, "posSpeed" : NumberLong(50) } { "_id" : ObjectId("56a077b8a88d08fdb6b30b28"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7708792, 32.05242908 ] }, "posSpeed" : NumberLong(50) }

{ "_id" : ObjectId("56a077bea88d08fdb6b30b29"), "hostid" : "3000033", "hostno" : "苏34", "loc" : { "type" : "Point", "coordinates" : [ 118.7820485, 32.05615053 ] }, "posSpeed" : NumberLong(50) }

这样查询就没有问题了。

时间: 2024-08-27 17:08:48

用户权限控制之命令篇的相关文章

2.4.3、Django用户权限控制

上面已经实现了登录和注销功能,但是还没起作用. 我们需要在每个视图函数里加上限制@login_required 如下: from django.contrib.auth.decorators import login_required ... ... @login_required def data_daka(request): all = class.objects.all() ... ... login_required实现了如下功能: 如果用户没有登录, 重定向到/accounts/log

springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <dependency>     <groupid>javax.servlet</groupid>     javax.servlet-api</artifactid>     <version>3.0.1</version>

如何通过excel实现用户权限控制

在程序设计中,为了让程序更好的适应每个用户的不同需求,我们经常需要给角色设置一定权限,权限的设置有很多的方式,这篇文章主要介绍一下如何通过excel表格来设置用户权限. 我们现在要实现一个功能,不同用户登录以后,下拉框中显示不同的城市,这里的城市是已经配置好的城市. 原来的城市是没有添加任何权限的,显示效果如下: 实现代码如下: ProjectCityWrapperCollection projectCityCollection = ExternalDataHelper.GetProjectCi

mongodb 用户权限控制

MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下: 注:研究成果基于Windows平台 MongoDB在本机安装部署好后 1. 输入命令:show dbs,你会发现它内置有两个数据库,一个名为admin,一个名为local.local好像没啥用,如果哪位在使用过程中发现了这个local表的用途,希望能够留言提醒,那我们就专心来说说admin表 2. 输入命令:use

04_用户权限及相关命令

01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理 在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限 在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录 的 不同权限 对 文件/目录 的权限包括: | 序号 | 权限 | 英文 | 缩写 | 数字代号 | | 01 | 读 | read | r | 4 | 02 | 写 | wr

Mysql用户权限控制(5.7以上版本)

1.1. 最简单的MySql权限   最简单也是最高效的,如果解决新手们删库跑路的问题其实也是很简单的,对于正式库只给一个增删改查的权限,或者只给一个查询权限(是不是就解决了删库的可能性?) 以下内容如果看官是大牛,请稍安勿躁,我讲内容的方式是从简单到入门,从入门到进阶,从进阶到实战,从实战到...(包你满意) 使用Root用户,执行 grant SELECT on mall.* TO 'dev'@'192.168.244.%' IDENTIFIED BY '123' WITH GRANT OP

MongoDB 3.X 用户权限控制

摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进入查看数据库,只有一个local库,admin库是不存在的: [email protected]:/usr/local/mongo4# mongo --port=27020 MongoDB shell version: 3.0.4 connecting to: 127.0.0.1:27020/tes

Oracle系列:(26)用户权限控制

1.用户 Oracle中的用户分为二大类 1)Oracle数据库服务器创建时,由系统自动创建的用户,叫系统用户,如sys. 2)利用系统用户创建的用户,叫普通用户,如scott,hr,c##tiger,zhaojun,... >用sys登录,查询当前Oracle数据库服务器中已有用户的名字和状态 username表示登录名 expired&locked表示帐号过期和锁定 open表示帐号现在可用   sqlplus / as sysdba;   col username for a30;  

mongodb用户权限操作常用命令

由于公司还有几台mongodb的数据库,需要开放某部分权限给外部人员使用,所以这里记录一下,仅供需要的朋友使用. 1. MongoDB常用命令 [[email protected] ~]# ps -ef|grep mongod [[email protected] ~]# mongo --host=127.0.0.1 --port=27017 MongoDB shell version: 3.2.7 connecting to: 127.0.0.1:27017/test > show dbs