mongod 验证配置指南(十二)

默北 mongodb1 11,257字数 1243阅读4分8秒阅读模式

一. 前言
最近公司加强安全,mongodb数据要启用验证,顺道总结下了。默认情况下,mongodb不启用验证的。数据库级别的权限,要么可读写要么只读权限。mongod的验证配置比较操蛋。分两种情形:一种是单服务器,只需启动时添加--auth参数即可。 另一种是复制集、分片集群服务器,必须指定keyfile参数,其他节点之间的通讯基于该keyfile。在这种情况下,--auth参数是隐含启用的,所有的mongodb访问都必须验证的。

二. 单服务器模式
添加管理员用户,admin库下的用户是全局用户,对所有的数据库可读写。文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

# ./mongo
> use admin
> db.addUser("root","www.ttlsa.com")
> db.auth("root","www.ttlsa.com")

创建普通的用户,是数据库级别的。文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

> use database_name
> db.addUser('guest','www.ttlsa.com') 可读写
> db.addUser('guest','www.ttlsa.com',true) 只可读

查看用户文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

> db.system.users.find()

删除用户文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

> db.removeUser(username)
或
> db.system.users.remove( { user: username } )

配置文件加上下面的参数后重新启动mongod实例文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

auth = ture

三. 复制集与分片集群模式下
3.1 keyfile规则
1. 集群服务器之间通讯通过keyfile进行身份验证。
2. 每个实例的keyfile文件内容要一致。
3. keyfile文件权限仅当前用户可读。
4. 集群成员都需要指定--keyFile参数。
5. 每个客户端连接到数据库之前必须验证。
6. key长度必须在6到1024个字符之间,否则会报错,mongod起不起来。
7. 任何空格被忽略。
8. key不能包含非法字符=,否则会报错,mongod起不起来。文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

3.2 创建一个keyfile文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

# openssl rand -base64 513 > keyfile

最好是3的倍数,否则会含有非法字符=。文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

3.3 修改keyfile权限文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

# chown mongod.mongod keyfile
# chmod 600 keyfile

3.4 创建一个管理账号
在启用--keyFIle后,连接数据库都必须要验证的。文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

> use admin
> db.addUser("root","www.ttlsa.com")
> db.auth("root","www.ttlsa.com")

3.5 启用--keyFile
修改mongod.conf文件,添加下面这项文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

keyFile = /path/to/keyfile

3.6 重新启动mongod文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

# ./mongod --config mongod.conf

创建普通用户与单机模式下验证一样的。文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

如需转载请注明出处:https://www.ttlsa.com/html/2707.html文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/ 文章源自运维生存时间-https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 30/08/2013 14:33:43
  • 转载请务必保留本文链接:https://www.ttlsa.com/mongodb/guide-configuration-verification-of-mongod/
评论  1  访客  1
    • 咪咪
      咪咪 9

      学习

    评论已关闭!