我使用CGI
编写了bash
脚本,执行MySQL
查询。由于我的目的是自动执行任务,因此我必须在脚本中放置MySQL credentials
,密码为纯文本。对我来说问题是有问题的服务器将执行脚本是具有外部访问权限的生产服务器。我正在寻找一种解决方案,其中自动化仍然存在,但没有以纯文本形式提供密码。
代码如下
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html>"
echo "<body>"
mysql -h $host -u root -ptest -e "select User,marks,percent from $db;" | sed 's/\t/,/g' > /tmp/out.csv `
gnuplot gnudg.sh
echo "<img src="http://172.16.0.19/report/histreport.png" alt="DG-Reports">"
echo "</body>"
echo "</html>" `
脚本权限:
ls -l /var/www/cgi-bin/ssdg/ssdgplot.sh
-rwxr-xr-x 1 root root 1589 Apr 22 12:41 /var/www/cgi-bin/ssdg/ssdgplot.sh
答案 0 :(得分:1)
对于mysql,您可以使用从reference1,reference2读取的选项文件 您可以设置用户名和密码等值
[db-details]
user=username
password=password
并读取此文件以在脚本中登录db。 并且为了避免其他人读取除root之外的其他内容,只需将权限视为
chmod 600 option_file