我使用以下命令通过脚本将密码传递给 mysql 连接:
mysql -u root -p'mypass'
所以我可以使用--execute在该行执行任务。
我在许多 stackexchange 论坛上看到,由于 ps 嗅探,强烈建议不要通过命令行传递密码。所以我想看看我是否真的可以通过查看正在运行的进程来获取 mysql 密码。我唯一能做的就是:
ps -p 4034 -o command
但我得到的答案是:
COMMAND
mysql -u root -px xxxxxxxxxx
(mysql 在 4034 pid 上运行) 看起来系统默认“加密”密码。所以我的问题是,是否真的可以通过命令行将密码作为参数获取?
答案1
如果系统安装了 snoopy(它将命令记录在 auth.log 中),那么就可以从那里检索它,而且 bash history 也会有它。
另外 - 你的脚本位于哪里,因为它可能只是从脚本内部读取