यदि आप एक लिनक्स सिस्टम पर हैं, तो / proc / * / environ पर देखें और निर्णय लें कि पर्यावरण चर संवेदनशील जानकारी को संग्रहीत करने के लिए एक अच्छी जगह है या नहीं। / proc / स्वयं वर्तमान प्रक्रिया है:
$ tr '\0' '\n' < /proc/self/environ
USER=me
LOGNAME=me
HOME=/home/me
PATH=/usr/bin:/bin:/usr/sbin:/sbin
MAIL=/var/mail/me
SHELL=/usr/bin/sh
SSH_CLIENT=1.2.3.4 58195 22
SSH_CONNECTION=1.2.3.4 58195 7.8.9.0 22
SSH_TTY=/dev/pts/1
TERM=xterm
कभी ध्यान न दें कि पर्यावरण चर को सेट करने वाली चीज़ शायद कहीं फ़ाइल पढ़ रही है।
याद रखने वाली बात यह है कि पासवर्ड का उपयोग करने का मतलब है कि प्रोग्राम के लिए पासवर्ड उपलब्ध है। यदि यह पासवर्ड किसी उपयोगकर्ता द्वारा हर बार किसी प्रोग्राम को इसकी आवश्यकता होने पर उसे टाइप करके प्रदान नहीं किया जाता है, तो यह पासवर्ड केवल प्रोग्राम की पहुंच के आधार पर सुलभ होना चाहिए। आप पासवर्ड को स्थानीय रूप से एन्क्रिप्ट कर सकते हैं और एक कुंजी का उपयोग करके प्रोग्राम को डिक्रिप्ट कर सकते हैं, लेकिन यह सब आकस्मिक पासवर्ड के खिलाफ पासवर्ड अस्पष्ट है; जिस व्यक्ति के पास कार्यक्रम के समान पहुंच है, वही कार्यक्रम कर सकता है, जिसमें एन्क्रिप्शन कुंजी पढ़ना शामिल है।
ऐसा करने का सही तरीका यह है कि एप्लिकेशन को एक प्रतिबंधित खाते के रूप में चलाया जाए, और फाइलसिस्टम-स्तर की अनुमतियों के साथ संरक्षित फ़ाइल में पासवर्ड संग्रहीत करें। उम्मीद है कि आप पासवर्ड को एक संस्करण नियंत्रण प्रणाली से बाहर रखने के लिए एक फ़ाइल या समान शामिल कर सकते हैं (यह मानते हुए कि वीसीएस का कोई सुरक्षा नियंत्रण नहीं है)। अनजाने प्रकटीकरण से बचाने के लिए, पासवर्ड को अस्पष्ट करें, लेकिन आप चाहते हैं - base64 इसे एनकोड करें, एन्क्रिप्ट करने के लिए pgp का उपयोग करें, जो भी आपके सर्वर प्रोग्राम के विकल्पों के सेट में समझ में आता है। यदि आप ऐसा करने के लिए एक कार्यक्रम लिख रहे हैं, तो सबसे अच्छा आप जो कर सकते हैं, वह केवल जरूरत पड़ने पर पासवर्ड के लिए उपयोगकर्ता को संकेत देना है, और फिर जैसे ही इसका उपयोग किया जाता है, उस पासवर्ड को मेमोरी से शुद्ध कर दें।