bash子命令中密码的安全性

时间:2013-11-06 10:05:36

标签: mysql bash security passwords

我听说直接在命令行输入密码是个坏主意,因为任何人都可以在

中看到“秘密”
mysql -u root -psecret

浏览history

我的MySQL数据库密码存储在具有有限读取权限的文本文件中,并且想知道以下方式访问它是否安全:

mysql -u root -p$(cat ~/.mysql_pass)

浏览history,我看到打印的命令,而不是文字值。所以它似乎按照我想要的方式工作。

我确信有更好的方法来处理密码,我只想知道这个密码是否完全不公开。

2 个答案:

答案 0 :(得分:2)

您建议使用以下内容:

mysql -u root -p$(cat ~/.mysql_pass)

但是,子命令将在执行mysql之前进行扩展,因此即使命令历史记录中没有这个子命令,完全可能有人在调用之后查看进程列表并查看密码。

我认为更好的方法是使用mysql client options file并使用mysql命令从选项文件中读取密码。

答案 1 :(得分:0)

只需输入mysql -u root -p,您就会收到输入密码的提示,但不会存储在历史记录中。