【问题标题】:Security concerns while loading fixtures装载夹具时的安全问题
【发布时间】:2012-06-24 01:20:27
【问题描述】:

当新的虚拟机启动时,我需要将固定装置加载到系统中。我已经抛弃了 MongoDB 和 Postgres。但是每当有新机器启动时,我不能只是坐在电脑前。我希望能够只“发出”一个命令或脚本自动执行它。

但是像pg_dump 这样的转储PostgreSQL 的命令需要密码。问题是,我用来部署这些设备的脚本应该在版本控制之下。包含此密码的文件(如果这是进行自动化的唯一方法)将不会被提交。如果需要提交,则部署存储库仅限内部开发人员使用。

我的问题是……在这种情况下,您认为什么是好的做法?我正在考虑使用 Python 的 Popen 来发出这些命令。

谢谢。

我也可以将它放在缓存服务器中...但不确定它是否是唯一“更好”的方式...

【问题讨论】:

    标签: python deployment fixtures


    【解决方案1】:

    无论您要以哪种方式加载数据,您都必须授予加载夹具的用户写入数据库的权限。

    使用 Postgres,您可以为特定用户授予无需密码的登录权限,并消除共享密码的问题,或者您可以将密码存储在主目录中的 pgpass 文件中。

    我个人觉得fabric 是一个非常好的部署工具,在这种特殊情况下,我将使用它连接到远程机器并发出psql -f 'dump_data.sql' -1 命令。

    【讨论】:

    • 啊。是的。实际上,我确实有其他事情的工厂。 -1 在做什么?比pg_restore好吗?而且没有密码?这不是一个很大的安全问题吗?谢谢。
    • -1 将其包装在事务中。谈到安全性,您仍然必须能够以该用户身份登录才能发出查询:) 这对我来说听起来并不安全。
    猜你喜欢
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2021-05-08
    • 1970-01-01
    相关资源
    最近更新 更多