- A+
1、启动没有拜访节制的MongoDB服务
sudo service mongod start
2、衔接到实例
mongo --port 27017
指定额外的敕令行选项来衔接Mongo shell到部署Mongodb服务器, 如--host
3、创立的用户治理员
use admin
db.createUser(
{
user: "大众myUserAdmin"大众,
pwd: "大众abc123"大众,
roles: [ { role: "大众userAdminAnyDatabase"大众, db: "大众admin"大众 } ]
}
)
4、从新启动MongoDB实例,并启用拜访节制
1、从新启动mongod实例,假如使用设置装备摆设文件的设置,security.authorization:
vi /etc/mongod.conf
改动内容:
security:
authorization: enabled
2、注意:keys and values之间必定要加空格, 不然解析会报错
重启服务:
sudo service mongod start
5、用户治理员身份验证
1、创立衔接mongo shell 时进行授权,指定-u <username>, -p <password>, and the --authenticationDatabase <database>
mongo --port 27017 -u "大众myUserAdmin"大众 -p "大众abc123"大众 --authenticationDatabase "大众admin"大众
2、mongo shell衔接时不认证,使用db.auth()授权
use admin
db.auth("大众myUserAdmin"大众, "大众abc123"大众 )
--------------------服务器以开启认证后,若何添加用户--------------------
1、启动MongoDB实例的拜访节制
启动mongod实例 AUTH敕令行选项,假如使用设置装备摆设文件的设置,security.authorization。
sudo service mongod start
2、经由过程localhost exception 衔接MongoDB实例
添加第一个用户, 使用Localhost Exception,衔接一个mongod实例。运行Mongo shell和mongod实例必需来自统一主机
3、同上创立用户方式雷同
--------------------通俗用户平安拜访权限--------------------
1、启动MongoDB
service mongod start
2、再次打开MongoDB shell
1、mongo --port 27017 -u "大众myUserAdmin"大众 -p "大众abc123"大众 --authenticationDatabase "大众admin"大众
2、mongo
use admin
db.auth("大众myUserAdmin"大众,"大众abc123"大众)
3、show collections:报错
由于用户myUserAdmin只用用户的治理权限
3、创立用户,用户都随着数据库走
为myuseradmin创立用户myUserAdmin在admin 数据库
use admin
db.createUser(
{
user: "大众myUserAdmin"大众,
pwd: "大众abc123"大众,
roles: [ { role: "大众userAdminAnyDatabase"大众, db: "大众admin"大众 } ]
}
)
4、查看方才创立的用户
show users
5、查看整个MongoDB全体的用户
use admin
db.system.users.find()
db.system.users.find().pretty()
6、创立完毕、进行验证
use test
db.auth('test1','test1')
1
show collections
ypmlist
--------------------改动权限--------------------
1、updateuser()办法:
1、实例
db.updateUser(
"大众<username>"大众,
{
customData : { <any information> },
roles : [
{ role: "大众<role>"大众, db: "大众<database>"大众 } | "大众<role>"大众,
...
],
pwd: "大众<cleartext password>"大众
},
writeConcern: { <write concern> }
)
2、参数先容:
1、username:要更新的用户名。
2、update:替换用户数据的文档,此数据完全代替了用户的响应数据。
3、writeConcern:可选,写操作级别。
3、指定要更新的字段和他们的新值:
1、customData:可选。随意率性信息。
2、roles:可选。付与用户的脚色。对脚色数组笼罩以前的数组的值更新
3、pwd:可选。用户暗码
--------------------改动权限操作--------------------
实例:
use admin
switched to db admin
db.auth("大众myUserAdmin"大众, "大众abc123"大众 )
1
use test
db.updateUser(
"大众test1"大众,
{
pwd: "大众itcast"大众,
customData: { title: "大众Senior Manager"大众 },
"大众roles"大众 : [
{
"大众role"大众 : "大众readWrite"大众,
"大众db"大众 : "大众test"大众
},
{
"大众role"大众 : "大众readWrite"大众,
"大众db"大众 : "大众example"大众
}
}
)
--------------------超等用户--------------------
use admin
db.createUser(
{
user: "大众itcast"大众,
pwd: "大众itcast"大众,
roles: [ { role: "大众root"大众, db: "大众admin"大众 } ]
}
)
2、体系默认脚色:
1、Read:容许用户读取指定数据库
2、readWrite:容许用户读写指定数据库
3、dbAdmin:容许用户在指定数据库中执行治理函数,如索引创立、删除,查看统计或拜访system.profile
4、userAdmin:容许用户向system.users聚拢写入,可以找指定数据库里创立、删除和治理用户
5、clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的治理权限。
6、readAnyDatabase:只在admin数据库中可用,赋予用户所稀有据库的读权限
7、readWriteAnyDatabase:只在admin数据库中可用,赋予用户所稀有据库的读写权限
8、userAdminAnyDatabase:只在admin数据库中可用,赋予用户所稀有据库的userAdmin权限
9、dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所稀有据库的dbAdmin权限。
10、root:只在admin数据库中可用。超等账号,超等权限
您可能感兴致的文章:
Mongodb若何开启用户拜访节制详解