कमांड लाइन में किसी को पासवर्ड का उपयोग क्यों नहीं करना चाहिए?


33

कमांड लाइन में लोग पासवर्ड लिखने से क्यों डरते हैं?

इतिहास फ़ाइल में स्थित है ~/.history, इसलिए यह केवल उस उपयोगकर्ता के लिए उपलब्ध है जिसने कमांड (और रूट) निष्पादित किया है।


2
आप अपनी इतिहास फ़ाइल में कुछ कमांड लॉग इन करने से बच सकते हैं। इतिहास में कमान से बचने के लिए
Luc M

5
युक! यहां तक ​​कि अगर आप अपने पासवर्ड को परिभाषित करते हैं export mypass=secretऔर आप उपयोग करते हैं a_command --password=$mypass, तो आप तालिका secretमें देखेंगे ps
ल्यूक एम

जवाबों:


51

कमांड लाइन केवल इतिहास में उपलब्ध नहीं हैं। वे भी उपलब्ध हैं, उदाहरण के लिए, आउटपुट में ps -ocmdया /procफ़ाइल सिस्टम के माध्यम से । ( /proc/<pid>/cmdline) जो psउन्हें पढ़ता है।

इसके अलावा, उपयोगकर्ताओं की होम निर्देशिका अक्सर विश्व या समूह- पठनीय होती हैं; आप इतिहास फ़ाइल को केवल उपयोगकर्ता-पठनीय बना सकते हैं, लेकिन वह विलोपन और मनोरंजन से बच नहीं सकता है।


17

कमांड लाइन पर पासवर्ड बस चारों ओर एक बुरा विचार है। अन्य उत्तरों में चर्चा की गई विधियों के अलावा:

  • / proc
  • प्रक्रिया सूची ( ps)
  • उपयोगकर्ता की इतिहास फ़ाइल

उपयोगकर्ता आदेश इन स्थानों में भी दिखाई दे सकते हैं:

  • ऑडिट लॉग
  • / Var / लॉग / *

इसके अलावा उपयोगकर्ता के आदेश भी दिखा सकते हैं जब उपयोगकर्ता सिस्टम के बीच लॉगिन करते हैं, इसलिए सामान्य तौर पर यह एक बुरा अभ्यास है और इसे हर समय टाला जाना चाहिए।


3
+1 / var / लॉग संदर्भ के लिए - ध्यान दें कि अक्सर महत्वपूर्ण सिस्टम लॉग को अन्यत्र भेजा जा सकता है, और जरूरी नहीं कि एक ही सिस्टम पर बने रहें। इस प्रकार आपके पासवर्ड अनजाने में भी नेटवर्क में क्लीयरटेक्स रूप में प्रेषित हो सकते हैं।
मार्क ग्लॉसॉप

11

समस्या पैरामीटर की दृश्यता है (अधिकांश उपयोगकर्ताओं के लिए, ज्यादातर मामलों में, रूट के लिए भी) जबकि कमांड चल रहा है। का आउटपुट देखें

ps -eo pid,user,args
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.