在了解了在命令行中使用密码的问题之后,我需要找到一种用密码来给程序提供密码的方法,而不会出现问题(密码不会记录在某处)。
我有一个bash脚本,可以从源代码自动安装整个LAMP服务器:Apache,FastCGI,PHP和MySQL。这些安装需要密码,尤其是MySQL。
如何在不透露密码的情况下使脚本完全自动化?
编辑(6月9日,世界标准时间3:55):
我通过root在命令行上使用密码调用mysql:
root@dor-desktop:/home/dor# PASS=`cat /home/dor/tmpf/pass`
root@dor-desktop:/home/dor# mysql -u root -p"$PASS"
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
(在我们的情况下为PASS =“ p4ssw0rd”)
而且我是ps aux | grep mysql
通过普通用户(dor)执行的,该用户没有向我显示密码!
(某些)ps
输出是:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3562 0.0 0.0 34156 2864 pts/0 S+ 05:53 0:00 mysql -u root -px xxxxxx
那怎么可能