【问题标题】:Clear text password entry showing when using mysqldump through SSH session通过 SSH 会话使用 mysqldump 时显示的明文密码条目
【发布时间】:2012-01-16 22:36:47
【问题描述】:

以下内容会将数据库从远程机器(以及 gzip)转储到我的机器上:

ssh root@foo.com "mysqldump -u root -p db_name | gzip -c" > dn_name.sql.gz

为什么主机密码隐藏正确但是mysql的密码输入是明文?

谢谢:)。

【问题讨论】:

    标签: mysql ssh


    【解决方案1】:

    因为如果您在 shell 中以非交互方式输入密码,则进程树中的其他用户始终可以看到它。

    如果您以 root 身份运行该进程,那么 root 用户本身应该足够安全,因此您应该为 root 用户提供不需要密码的转储。

    另一种选择是在主目录中创建一个.my.cnf 文件,使其只能由root (chmod 600) 读写。 以下是上述.my.cnf文件的内容:

    [mysqldump]
    user = mysqluser
    password = secret
    

    这样用户和密码应该自动输入,不会被泄露。

    【讨论】:

    • 您也可以使用该格式的任何文件(比如/usr/local/etc/myscript.cnf),并以--defaults-extra-file=/usr/local/etc/myscript.cnf 开头的mysql* 命令引用它。
    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多