当前位置:Gxlcms > 数据库问题 > mongodb 安全认证

mongodb 安全认证

时间:2021-07-01 10:21:17 帮助过:2人阅读

默认情况下,mongodb不启用验证的。数据库级别的权限,要么可读写要么只读权限。mongod的验证配置比较操蛋。 分两种情形:一种是单服务器,只需启动时添加–auth参数即可。 另一种是复制集、分片集群服务器,必须指定keyfile参数,其他节点之间的通讯基于该keyfile。 在这种情况下,–auth参数是隐含启用的,所有的mongodb访问都必须验证的。   Mongodb中安全权限验证是数据库级别的 1、在admin中创建的 权限账号是全局性的,可以访问所有DB; 2、在非admin中创建的权限账号是 本地账号,只对本地DB具有操作权限; 3、如果在非 admin数据中 创建权限账号时指定了具有对其他DB的权限,则相应的具有其权限; 4、密码中不能有 < > & " ‘ : @   ************************************************ db.createUser({user:"wenzhong",pwd:"yearmonth@20140111",roles:["root"]},{w:1,wtimeout:10000});  ************************************************ 一、单服务器模式 添加管理员用户,admin库下的用户是全局用户,对所有的数据库可读写。   # ./mongo > use admin > db.addUser("root","www.ttlsa.com") > db.auth("root","www.ttlsa.com") 创建普通的用户,是数据库级别的。   > use database_name > db.addUser(‘guest‘,‘www.ttlsa.com‘) 可读写 > db.addUser(‘guest‘,‘www.ttlsa.com‘,true) 只可读 查看用户   > db.system.users.find() 删除用户   > db.removeUser(username) 或 > db.system.users.remove( { user: username } ) 配置文件加上下面的参数后重新启动mongod实例   auth = ture   二、复制集与分片集群模式下 2.1 keyfile规则 1. 集群服务器之间通讯通过keyfile进行身份验证。 2. 每个实例的keyfile文件内容要一致。 3. keyfile文件权限仅当前用户可读。 4. 集群成员都需要指定–keyFile参数。 5. 每个客户端连接到数据库之前必须验证。 6. key长度必须在6到1024个字符之间,否则会报错,mongod无法启动。 7. 任何空格被忽略。 8. 最好是3的倍数 。key不能包含非法字符=,否则会报错,mongod无法启动 。     1、在primary服务器上 生产keyfile文件秘钥  (注必须是 600权限,否则会报错) 先在 Admin库先创建 超级账号(primary) replSet:primary>use admin replSet:primary>db.createUser({user:"wenzhong",pwd:"yearmonth@20140111",roles:["root"]},{w:1,wtimeout:10000}); 2、 sheel> openssl rand -base64 666 > /opt/mongo/conf/MongoReplSet_KeyFile sheel> chown mongod.mongod   /opt/mongo/conf/MongoReplSet_KeyFile sheel> chmod 600   /opt/mongo/conf/MongoReplSet_KeyFile 3、 将 产生的 keyfile 文件 拷贝到 其他成员服务器 4、 修改配置文件 keyFile=/opt/mongo/conf/MongoReplSet_KeyFile 5、 重启mongod服务(primary-secondary) replSet:primary>use admin replSet:primary>rs.stepDown(60); replSet:secondary>db.shutdownServer()   cat /etc/rc.local sudo  runuser -c "/usr/local/mongo/bin/mongod -f /opt/mongo/conf/mongo.conf" mongod   依次重启 secondary成员

mongodb 安全认证

标签:

人气教程排行