【问题标题】:MySQL DB Backup - Secure wayMySQL 数据库备份 - 安全方式
【发布时间】:2011-08-25 01:23:06
【问题描述】:

我想安排一个直接使用 mysqldump 或调用执行 mysqldump 的脚本的 cron 作业。我的问题是,由于 mysqldump 需要提供密码,因此直接将 mysqldump 作为 cron 作业执行是否安全?如果不是,在使用脚本时,保护密码最安全的方法是什么?

【问题讨论】:

标签: mysql cron backup mysqldump


【解决方案1】:

我认为你应该:

  1. 创建将存储您的登录名/密码并对其设置最小权限的文件。
  2. 创建 bash 脚本/php/perl 脚本,该脚本将运行 mysqldump 命令并从此文件中读取设置。
  3. 将此脚本设置为 cron。

但是如果你在 root 下运行 cron,那么你可以直接在 cron 中指定用户/密码,因为只有有限数量的用户可以查看这个文件。

【讨论】:

  • 这仍然非常不安全。即使只有 root 可以读取该文件,anyone 也可以运行 ps ax | grep mysql 并查看在命令行中指定的密码。正确的方法是使用配置文件;请参阅上面链接的重复问题。
  • 您可以设置进程的权限。看这篇关于Solaris的文章blogs.oracle.com/gbrunett/entry/forcing_users_to_see_only
  • 当然,您可以这样做,但这在某种程度上是特定于操作系统的。此外,配置文件方法适用于您没有 root 访问权限且无法重新配置此类内容的情况。
【解决方案2】:

您可以将密码写入脚本文件并仅设置它的权限 root 用户。而不是在 crontab 中定义它。

除非以 root 用户身份登录,否则没有人可以看到它。如果其他人可以以 root 用户身份登录 mysql 密码无论如何都不会是您的主要问题..

您也可以使用特定用户而不是只有必要权限的 root..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 2011-10-31
    • 2020-11-23
    • 2011-04-05
    相关资源
    最近更新 更多