注意:在集群及副本集环境中必须使用keyFile参数,只使用--auth参数将无法工作。
2.2以下的版本不支持集群环境下的只读用户。
客户端在集群中进行认证与在单服务器环境中的认证是一样的,唯一的区别是集群中服务器使用密钥文件进行内部沟通。
密钥文件基本上是一个明文的文件,hash计算后被当做集群的内部密码。
设置副本集 and/or 分片的验证:
a,创建key文件并复制到集合的每个服务器中。密钥文件是字符的base64集,加上空格与换行符。
b,修改密钥文件权限为只能被当前用户读取。
c,启动集群中的服务器时使用命令行参数 --keyFile /path/to/file
d,客户端都必须验证和才能使用
启动时可以不使用 --auth参数,因为使用了 --keyFile就必须验证,也就是隐含了 --auth。但是--auth并不隐含 --keyFile。
生成keyFile文件:openssl rand -base64 100 > /mongodb/scheme2/keyfile0 --文件内容采base64编码,一共100个字符