उपयोगकर्ता इनपुट को छिपाने का सबसे सरल तरीका क्या है?
इसे प्रदर्शित नहीं कर रहे हैं!
जब वे टाइप किए जा रहे हों तो पासवर्ड छिपाना एक पुरानी परंपरा है। अधिकांश संदर्भों में सुरक्षा के दृष्टिकोण से समझ में आता है: यदि कोई आपके कंधों को देख रहा है, तो आप यह देखना आसान नहीं चाहते हैं कि आप क्या टाइप कर रहे हैं। (कुछ आधुनिक सुरक्षा दिशानिर्देश जैसे कि 1 2 3 4 5 पासवर्ड को दृश्यमान बनाने के लिए एक विकल्प होने की सलाह देते हैं, क्योंकि यह उपयोगकर्ता को अधिक जटिल पासवर्ड चुनने में सक्षम बनाता है और यह विश्वास दिलाता है कि वे अपना समय तय नहीं कर पाएंगे। typos। सबसे बड़ा जोखिम कंधे सर्फिंग नहीं है, यह जानवर बल अनुमान है, संभवतः ऑफ़लाइन है।
यह तय करने के बाद कि पासवर्ड छिपाया जाना चाहिए, कार्यान्वयनकर्ताओं को यह तय करना था कि इसे कैसे करना है। टर्मिनल में एक मोड होता है जहां उपयोगकर्ता इनपुट दिखाया जाता है (इको ऑन), और एक मोड जहां उपयोगकर्ता इनपुट नहीं दिखाया गया है (इको ऑफ)। इको ऑफ मोड में एक तरह से आंतरिक अस्तित्व होता है: यह वह विधा है जहां टर्मिनल उपयोगकर्ता के इको इनपुट के अतिरिक्त काम नहीं करता है। इस मोड में उन अनुप्रयोगों के लिए भी मौजूद होता है, जहाँ एक कुंजी टाइप करने पर वह पात्र सम्मिलित नहीं होता है, बल्कि कुछ एप्लिकेशन शॉर्टकट को सम्मिलित करता है जो उस कुंजी से जुड़ा होता है। तो आदेशों पसंद passwd
मोड बंद प्रतिध्वनित करने के लिए बस टर्मिनल की स्थापना की, जबकि वे एक पासवर्ड पढ़ रहे हैं।
प्रत्येक वर्ण के लिए तारांकन मुद्रित करने के लिए केवल एक अपेक्षाकृत छोटे लाभ के लिए अतिरिक्त कार्यान्वयन कार्य की आवश्यकता होती है, जो passwd
कमांड के कार्यान्वयनकर्ताओं को ऐसा करने में नहीं लगता है। तारांकन छपाई के लिए कोई टर्मिनल मोड नहीं है क्योंकि यह एक बहुत ही विशेष सुविधा होगी, जो केवल पासवर्ड दर्ज करते समय उपयोगी होगी।
वैसे, यदि आप इसे बदलते समय अपना पासवर्ड देखना चाहते हैं, तो आप cat | passwd
(कम से कम कुछ सिस्टम पर - कुछ संस्करणों के passwd
विकल्प की तरह उपयोग कर सकते हैं cat | passwd --stdin
और कुछ इसे बिल्कुल स्वीकार नहीं करते हैं)। (आप भी कर सकते हैं { echo 'current password'; echo 'new password'; echo 'new password'; } | passwd
, लेकिन ऐसा न करें: यह शेल इतिहास में पासवर्ड को बचाएगा, जिससे लीक होने का एक बहुत अधिक है।) इसके लिए व्यवस्था करना जो कुछ भी बजाय टर्मिनल से पासवर्ड पढ़ते हैं। उनके मानक इनपुट, जैसे कि sudo
या ssh
, अधिक जटिल है; यदि आपके पास एक GUI उपलब्ध है, तो आप ssh-askpass का उपयोग कर सकते हैं जो दिखाता है कि आपने कितने अक्षर टाइप किए हैं ( SUDO_ASKPASS=/usr/bin/ssh-askpass sudo -A
sudo के लिए; ssh के लिए यह जटिल है जब आप इसे किसी टर्मिनल से प्राप्त करते हैं)।