在运行 Linux 服务器的备份脚本时,我在 bash 脚本中执行了类似 mysqldump 的命令,其中包含 mysql root 密码和某些 ftp 服务器密码。恶意用户是否可以从服务器日志中检索这些密码?
我知道在脚本运行时,可以通过调用 来查看诸如 mysqldump 之类的进程ps ax
。这些进程会记录到服务器日志中吗?如果会,脚本执行后如何清理?是否有可能完全避免这些问题?
附录:我的问题并非专门针对 mysqldump。还有其他二进制文件(如 lftp 和 mysqldump)需要密码作为参数。我知道 mysqldump 和 lftp 都接受文件输入。但是,是否可以一般性地保护 bash 脚本中调用的命令(可能包含敏感信息)不被窥探?
答案1
history 命令会显示你输入过的命令列表。理论上,这些数据是可以检索的。
答案2
对此没有通用的解决方案。工具必须为密码等敏感数据提供自己的保护。通常,它们可以从必须适当保护的文件中加载凭据,例如 mysql --defaults-file=
。命令行参数无法受到保护。