कमांड लाइन में पासवर्ड का उपयोग करने के साथ समस्या को समझने के बाद , मुझे एक प्रोग्राम को पासवर्ड के साथ फीड करने का एक तरीका खोजने की आवश्यकता है, इसके बिना समस्या हो रही है (पासवर्ड को कहीं दर्ज किए बिना)।
मेरे पास एक बैश स्क्रिप्ट है जो स्वचालित रूप से स्रोत से पूरे LAMP सर्वर को स्थापित करती है: Apache, FastCGI, PHP और MySQL। इन प्रतिष्ठानों को एक पासवर्ड की आवश्यकता होती है, विशेष रूप से MySQL के लिए।
मैं पासवर्ड का खुलासा किए बिना स्क्रिप्ट को पूरी तरह से स्वचालित कैसे बना सकता हूं?
संपादित करें (9 जून, 3:55 यूटीसी):
मैं रूट के माध्यम से कमांड लाइन पर पासवर्ड के साथ 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
यह कैसे संभव है?