MongoDB 3.0 +安全权限访问控制详解

  

1,启动没有访问控制的MongoDB服务
  

  

<代码> sudo服务mongod开始

  

2,连接到实例
  

  

<代码> mongo——端口27017
  

  

指定额外的命令行选项来连接Mongo shell到部署Mongodb服务器,如——主机

  

3,创建的用户管理员
  

  
  

使用管理
  db。createUser (
  {
  用户:“myUserAdmin”,
  pwd:“abc123”,
  角色:[{角色:“userAdminAnyDatabase”, db:“admin”}]
  }
  )

     

4,重新启动MongoDB实例,并启用访问控制
  

  

1,重新启动mongod实例,如果使用配置文件的设置,安全。授权:
  

  

<代码> vi/etc/mongod.参看
  

  

修改内容:

  
  

,,,安全:
  ,,,,授权:启用
  

     

2,注意:键和值之间一定要加空格,否则解析会报错
  

  

,,,重启服务:
  

  

<代码>,,,sudo服务mongod开始
  

  

5,用户管理员身份验证
  

  

1,创建连接mongo shell时进行授权,指定- u & lt; username> - p & lt; password>,和——authenticationDatabase & lt; database>
  

  

<代码> mongo——端口27017 - u - p“abc123”——authenticationDatabase“myUserAdmin”“admin”

  

2, mongo shell连接时不认证,使用db.auth()授权
  

  
  

,,,使用管理
  ,,db。身份验证(“myUserAdmin”、“abc123”)
  

     

- - - - - - - - - - - - - - - - - - - - - -服务器以开启认证后,如何添加用户- - - - - - - - - - - - - - - - - - - - - -
  1,启动MongoDB实例的访问控制
  

  

启动mongod实例AUTH命令行选项,如果使用配置文件的设置,安全。授权。
  

  

<代码> sudo服务mongod开始

  

2,通过本地主机异常连接MongoDB实例
  

  

添加第一个用户,使用本地主机异常,连接一个mongod实例。运行Mongo shell和mongod实例必须来自同一主机

  

3,同上创建用户方式相同

  

- - - - - - - - - - - - - - - - - - - - - -普通用户安全访问权限- - - - - - - - - - - - - - - - - - - - - -
  1,启动MongoDB
  

  

<代码>服务mongod开始

  

2,再次打开MongoDB shell
  1,蒙戈——端口27017 - u - p“abc123”——authenticationDatabase“myUserAdmin”“admin”

  

2,蒙戈
  

  
  

,,,使用管理
  ,,db.auth (“myUserAdmin”、“abc123”)

     

3,显示集合:报错
  ,,因为用户myUserAdmin只用用户的管理权限
  

  

3,创建用户,用户都跟着数据库走
  

  

为myuseradmin创建用户myuseradmin在管理数据库
  

  
  

使用管理
  db。createUser (
  {
  用户:“myUserAdmin”,
  pwd:“abc123”,
  角色:[{角色:“userAdminAnyDatabase”, db:“admin”}]
  }
  )

     

4,查看刚刚创建的用户
  

  

<代码>

显示用户   

5,查看整个MongoDB全部的用户
  

  
  

使用管理
  db.system.users.find ()
  .pretty db.system.users.find () ()
  

     

6,创建完毕,进行验证

  
  

使用测试
  db.auth (test1, test1)
  1
  显示集合
  ypmlist
  

     

- - - - - - - - - - - - - - - - - - - - - -修改权限- - - - - - - - - - - - - - - - - - - - - -
  

  

1, updateuser()方法:
  1、实例
  

  
  

db。updateUser (
  “& lt; username>”,
  {
  customData: {& lt;任何information>},
  角色:[
  {角色:“& lt; role>”db:“& lt; database>“}| & lt; role>“,
  …
  ),
  pwd:“& lt;明文password>”
  },
  writeConcern: {& lt;写concern>}
  )

     

2,参数介绍:,,
  ,,1、用户名:要更新的用户名。

  

,,,2、更新:替换用户数据的文档,此数据完全取代了用户的相应数据。

  

,,,3,writeConcern:可选,写操作级别。

MongoDB 3.0 +安全权限访问控制详解