赞
踩
###mongodb 启用权限认证
本文基于mongodb版本:3.4.7
//--------------------------------------------------------- // 启用权限认证 // Enable Auth // https://docs.mongodb.com/manual/tutorial/enable-authentication/ //--------------------------------------------------------- // 操作步骤 // 首先在去访问控制模式下,添加管理员用户,然后启动访问控制; // 1、无访问控制下启动mongodb mongod --config D:\Dev\mongodb-3.4.7\mongo.config // 2、连接实例 mongo 127.0.0.1:30000 // 3、创建管理员用户 use admin db.createUser({ user:"mongo", pwd:"myPassword", roles:[{role:"userAdminAnyDatabase",db:"admin"}] }); // 4、重启mongodb,启用权限认证 mongod --auth --config D:\Dev\mongodb-3.4.7\mongo.config // 5、使用管理员连接并认证 // 5.1、连接时认证 mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin" // 5.2、连接后认证 mongo 127.0.0.1:30000 use admin db.auth("mongo","myPassword") // 6、根据开发需要创建用户 use ehr_analyze db.createUser( { user:"ehr", pwd:"myPassword", roles:[{role:"readWrite",db:"ehr_analyze"}] } ) // 7、使用新用户登录 // 7.1、连接时认证 mongo 127.0.0.1:30000 -u "ehr" -p "myPassword" --authenticationDatabase "ehr_analyze" // 7.2、连接后认证 mongo 127.0.0.1:30000 use ehr_analyze db.auth("ehr","myPassword") db.mpi.find() //--------------------------------------------------------- // 创建mongostat运行角色 // https://docs.mongodb.com/manual/tutorial/manage-users-and-roles/ //--------------------------------------------------------- // 1.使用管理员登录admin数据库 mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin" // 2.创建mongostat角色 use admin db.createRole( { role:"mongostatRole", privileges:[ {resource:{cluster:true},actions:["serverStatus"]} ], roles:[] } ); // 授予管理员mongo权限 db.grantRolesToUser("mongo",[{role:"mongostatRole",db:"admin"}]) //--------------------------------------------------------- // 为现有用户添加权限 //--------------------------------------------------------- // 1.使用管理员登录admin数据库 mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin" // 2.确认用户角色与权限 // 查看用户的角色 db.getUser("userName"); // 查看具有读写权限的用户 db.getRole("readWrite",{showPrivileges:true}) // 3.权限授予与撤销 // 如果用户需要额外的权限,需要将指定权限的角色授予用户。如果角色不存在时,需要重建包含权限的角色; // 如果需要从某个角色中,撤销部分权限,则需要:首先撤销原有角色,然后将包含特定权限的角色授予用户。如果角色不存在则创建; // 4.修改用户权限 // 撤销角色 db.revokeRolesFromUser( "userName", [ {role:"readWrite",db:"accounts"} ] ) // 授予角色 db.grantRolesToUser( "userName", [ {role:"read", db:"accounts"} ] ) //--------------------------------------------------------- // 修改用户密码 //--------------------------------------------------------- // 1.使用管理员登录admin数据库 mongo 127.0.0.1:30000 -u "mongo" -p "myPassword" --authenticationDatabase "admin" // 2.修改密码 db.changeUserPassword("userName","123456")
mongo.config
dbpath=D:\Dev\mongodb-3.4.7\data\db
logpath=D:\Dev\mongodb-3.4.7\data\log\mongo.log
port=30000
bind_ip=127.0.0.1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。