存储shell脚本密码的最佳方法是什么?

时间:2018-11-01 10:01:19

标签: shell ubuntu passwords backup

我在Ubuntu 16.04中有shell脚本(example.sh),我每天将使用cronjob执行该脚本来备份数据库并将其归档并在7z归档中使用密码。 因此,我需要以某种方式将密码传递给该脚本。

示例:

#!/bin/sh

mysql_user="root"
mysql_pass="example"
zip_pass="example2"

#there goes logic for backup
...

问题

  • 据我所知,仅将密码存储在shell脚本中是不正确和不安全的。
  • 我尝试将其作为参数传递给shell脚本,例如sh example.sh myStrongMySQLPassword 7zPassword,但是让所有用户都可以在终端中使用命令ps -ef来看到。

那么,使用密码运行shell脚本的最安全,最好的选择是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用单独的config文件并在其中存储凭据。在您的Shell脚本中读取此配置文件以获取凭据。

unix stack exchange上有一些非常好的文章介绍了如何执行此操作。有关详细信息,请参考它:

hiding-password-in-shell-scripts