bash - MySQL authentication using script without supplying password in plain text -


मैंने bash का उपयोग करके एक cgi स्क्रिप्ट लिखा है, जो < कोड> MySQL क्वेरी चूंकि मेरा उद्देश्य एक कार्य को स्वचालित करना है, इसलिए मुझे लिखे में MySQL क्रेडेंशियल्स को केवल सादे टेक्स्ट में होने वाले पासवर्ड के साथ रखना था मेरे लिए मुद्दा इस सवाल का सर्वर है जो स्क्रिप्ट निष्पादित करेगा जो बाहरी एक्सेस के साथ एक उत्पादन सर्वर है। मैं ऐसे समाधान की तलाश कर रहा हूं जहां स्वचालन रहता है लेकिन बिना सादे पाठ में पासवर्ड प्रदान किए

पुनश्च: मेरे लिए एक समाधान दूसरों के लिए सभी अनुमतियों को हटाकर, जड़ के लिए आरवॉइएक्स के समूह और रूट के लिए स्वामित्व बदलकर सख्त अनुमतियां लागू करना है। लेकिन चूंकि यह एक सीजीआई स्क्रिप्ट है, मैं दूसरों के लिए पढ़ने और निष्पादन को हटा नहीं सकता।

निम्नानुसार कोड है

  #! / Bin / bash echo "content- प्रकार: टेक्स्ट / html "echo" "echo" & lt; html & gt; " गूंज "& lt; body & gt;" mysql -h $ host -u रूट -ptest -e "उपयोगकर्ता, अंक, $ db से प्रतिशत चुनें;" | Sed 's / \ t /, / g' & gt; /tmp/out.csv` gnuplot gnudg.sh गूंज "& lt; img src =" http://172.16.0.19/report/histreport.png "alt =" डीजी-रिपोर्ट "& gt;" गूंज "& lt; / body & gt;" गूंज "& lt; / html & gt;" `  

स्क्रिप्ट अनुमति:

  ls -l /var/www/cgi-bin/ssdg/ssdgplot.sh   

-rwxr-xr-x 1 रूट रूट 1589 अप्रैल 22 12:41 /var/www/cgi-bin/ssdg/ssdgplot.sh

mysql के लिए आप से पढ़ा विकल्प फ़ाइल का उपयोग कर सकते हैं, आप उपयोगकर्ता नाम और पासवर्ड जैसे मूल्य सेट कर सकते हैं

  [db-details] user = username password = password   

और इस फ़ाइल को स्क्रिप्ट में डीबी में प्रवेश करने के लिए पढ़ें। और किसी और व्यक्ति से बचने के लिए इसे रूट के अलावा पढ़ा, केवल

  chmod 600 option_file    

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -