मैं (1) सबसे सुरक्षित और (2) सबसे आसान तरीका खोज रहा हूं जिसमें उपयोगकर्ता को एक बैश शेल प्रॉम्प्ट पर एक पासवर्ड टाइप करना है और उस पासवर्ड को एक प्रोग्राम में स्टड का हिस्सा बनना है।
यह वही है जो स्टडिन को देखने की जरूरत है: शेल प्रॉम्प्ट में टाइप किया हुआ {"username":"myname","password":"<my-password>"}
कहां <my-password>
है। यदि मुझे प्रोग्राम को स्टैडिन पर नियंत्रण था, तो मैं इसे पासवर्ड के लिए सुरक्षित रूप से संकेत करने के लिए संशोधित कर सकता हूं और इसे जगह में रख सकता हूं, लेकिन डाउनस्ट्रीम एक मानक सामान्य उद्देश्य कमांड है।
मैंने उन दृष्टिकोणों पर विचार किया और खारिज कर दिया है जो निम्नलिखित का उपयोग करते हैं:
- कमांड लाइन में पासवर्ड टाइप करने वाला उपयोगकर्ता: पासवर्ड स्क्रीन पर दिखाया जाएगा और "ps" के माध्यम से सभी उपयोगकर्ताओं को भी दिखाई देगा
- बाहरी प्रोग्राम (जैसे
...$PASSWORD...
) के तर्क में शेल वेरिएबल इंटरपोलेशन : पासवर्ड अभी भी "ps" के माध्यम से सभी उपयोगकर्ताओं को दिखाई देगा - पर्यावरण चर (यदि वे पर्यावरण में छोड़ दिए जाते हैं): पासवर्ड सभी बाल प्रक्रियाओं को दिखाई देगा; यहां तक कि भरोसेमंद प्रक्रियाएं पासवर्ड को उजागर कर सकती हैं यदि वे डायग्नोस्टिक के हिस्से के रूप में कोर या डंप पर्यावरण चर को डंप करते हैं
- पासवर्ड एक फ़ाइल में समय की एक विस्तारित अवधि के लिए बैठे, यहां तक कि तंग अनुमतियों के साथ एक फ़ाइल: उपयोगकर्ता गलती से पासवर्ड को उजागर कर सकता है और रूट उपयोगकर्ता गलती से पासवर्ड देख सकता है
मैं नीचे दिए गए उत्तर के रूप में अपना वर्तमान समाधान डालूंगा, लेकिन अगर कोई व्यक्ति किसी के साथ आता है तो वह बेहतर उत्तर का चयन करेगा। मैं सोच रहा हूं कि कुछ सरल होना चाहिए या हो सकता है कि किसी को सुरक्षा की चिंता दिखे, जो मुझे याद हो।