मुझे कुछ BASH टूल मिले हैं जो mysql -e "{command}"
फ़ंक्शन का उपयोग करते हैं। हर बार जब मैं इन उपकरणों का उपयोग करता हूं तो पासवर्ड दर्ज करना एक दर्द होगा, इसलिए, कोड के साथ एक प्लेनटेक्स्ट फ़ाइल में लिखे पासवर्ड से बचने के लिए, मैं इसे मेमोरी में स्टोर कर रहा हूं (उपयोग कर रहा हूं read -s
) और जब भी यह कमांड चलाता है तो इसे पढ़ें।
मैसकल को अब भी लगता है कि पासवर्ड कमांड लाइन के माध्यम से प्रस्तुत किया जा रहा है (क्योंकि, बोलने के तरीके में, यह है), और फिर भी मुझे त्रुटि देता है "कमांड लाइन इंटरफ़ेस पर पासवर्ड का उपयोग करना असुरक्षित हो सकता है।"
अपने उद्देश्यों के लिए, मुझे इस संदेश को दबाने की आवश्यकता नहीं है। मुझे यह जानना चाहिए कि ऐसा क्या है जो इसे असुरक्षित बना सकता है ? पासवर्ड कभी भी भौतिक रूप से दिखाई नहीं देता है, इसलिए कंधे-सर्फिंग वह नहीं कर सकता है और यहां तक कि कोई व्यक्ति जो मेरे एसएसएच पासवर्ड का अनुमान लगाता है, वह ऐसा नहीं कर पाएगा क्योंकि यह स्क्रिप्ट में स्वयं के बजाय मेमोरी में संग्रहीत है। क्या एक आदमी के बीच का हमला या ऐसा ही कुछ संभव है?
bash
जब आप कमांड चलाते हैं तो आपने इसे कैसे पढ़ा है? यदि आप करते हैं mysql -p"$pass"
तो कोई भी इसे देख सकता है ps
।
~/.my.cnf
उदाहरण में रखें आप प्रति होस्ट को निर्दिष्ट कर सकते हैं[client<hostname>]
जैसे कि[clientlocalhost]
MySQL उपकरण इसे स्वचालित रूप से उपयोग करेंगे इसलिए यह आसान और सुरक्षित है