增加权限的操作
修改用户密码
通过 db.runCommand 来打印用户的权限
db.runCommand({usersInfo:'roletest', showPrivileges:1})
在admin库中创建角色,作用的库在imooc,test库中。 可以对imooc 有 查询、增加、删除的操作
db.createRole( {role:'testRole', privileges:[{resource:{db:'imooc',collection:''}, actions:['find','insert','remove']}], roles:[{role:'read',db:'test'}] } )
自定义角色
Mongodb的权限与集合 角色分为2种,一种是自带的(built-in roles),还有一种是自定义角色。
(1).build-in roles角色分类
读写:
read readWrite
管理员:
dbAdmin, dbOwner, userAdmin, clusterAdmin, clusterManager, clusterMonitor, hostManager
备份角色
backup 、restore
全局
readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabse、dbAdminAnyDatabse
超级用户
root
删除用户
db.dropUser(<user_name>) #删除某个用户,接受字符串参数 db.dropAllUser() #删除当前库的所有用户
MongoDB 如何创建一个用户
db.createUser( { user:<name_string>, # 字符串 pwd:<password_string>, # 字符串 role[{role:<role_name>, db:<db_name>}]} # 数值 + 对象 )
通过 chmod 命名给 keyFile 设置权限
chmod 600 .keyFile
keyFile 的注意事项
内容 base64 编码集[a-z A-Z + /]
长度 1000 bytes
权限 chmod 600 keyFile
生成一个可以 keyfile 格式的字符串
// 100 是字符的长度 openssl rand -base64 100
在 mongodb.conf 中添加 keyFile
keyFile=/usr/local/mongodb/.keyFile
记录下 linux 的操作
// 查看进程 ps -ef|grep mongo // 将文件的内容输出到控制台 cat /usr/local/mongod/conf/28001.conf // 将新的内容追加到文本中 echo "auth=true" >> /usr/local/mongodb/conf/28001.conf
auth 與 keyFile 的区别
auth:单点
keyFile:集群之间