Ste*_*ven 15 mysql security bash scripting
我正在编写一个我计划通过cron执行的bash脚本.在这个脚本中,我想对MySQL数据库执行一个命令,如下所示:
$ mysql -u username -ppassword -e 'show databases;'
Run Code Online (Sandbox Code Playgroud)
为清楚起见,那些不熟悉mysql的人," - u"开关接受用于访问数据库的用户名," - p"用于密码(故意省略空格).
我正在寻找一种方法来保持用户名/密码在脚本中的使用方便,但这种方式也可以保护这些信息免受窥探.我见过要求以下的策略:
但我不觉得这也很安全(关于保持密码明确让我感到不安).
那么我应该如何保护将在Linux上的自动脚本中使用的密码?
保护密码的唯一真正安全的方法是加密密码.但是你有保护加密密钥的问题.这个问题一直是乌龟.
当构建OpenSsh的优秀人员解决了这个问题时,他们提供了一个工具,该工具ssh-agent将保留您的凭据并允许您使用它们连接到需要的服务器.但即使ssh-agent在文件系统中保存了一个命名套接字,任何可以访问该套接字的人都可以使用您的凭据.
我认为只有两种选择
有人输入密码.
信任文件系统.
我只信任本地文件系统,而不是远程安装的文件系统.但我相信它.
安全是地狱.
您可以对密码进行模糊处理的一种方法是将其放入选项文件中.这通常位于UNIX/Linux系统上的〜/ .my.cnf中.这是一个显示用户和密码的简单示例:
[client]
user=aj
password=mysillypassword
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11819 次 |
| 最近记录: |