क्या अन्य उपयोगकर्ता एक कमांड को दिए गए तर्कों को देख सकते हैं?


21

अगर मैं इस तरह के तर्क के साथ एक आदेश आह्वान:

bob@bob-pc:~$ command -arg1 -arg2

... क्या अन्य उपयोगकर्ता कमांड को पास किए गए तर्कों को देख सकते हैं?


इस सवाल का एक सरल "हां" "नहीं" उत्तर सामग्री और शीर्षक का खंडन करेगा: P
kizzx2

@ kizzx2: फिक्स्ड।
बहमट

जवाबों:


13

सामान्य तौर पर, वे इसे देख सकते हैं। यह wमैन पेज से है:

प्रत्येक उपयोगकर्ता के लिए निम्न प्रविष्टियाँ प्रदर्शित की जाती हैं: लॉगिन नाम, ट्टी नाम, दूरस्थ होस्ट, लॉगिन समय, निष्क्रिय समय, JCPU, PCPU, और उनकी वर्तमान प्रक्रिया की com‐ मंड लाइन।

आपकी वर्तमान में चल रही प्रक्रिया की पूरी कमांड लाइन प्रदर्शित की जाएगी। इसलिए आप कमांड लाइन के तर्कों के माध्यम से पासवर्ड जैसी चीजों की आपूर्ति नहीं करना चाहते हैं।


उसे अक्षम करने का कोई तरीका नहीं है?
नाथन उस्मान

3
@George वहाँ है, क्योंकि rdesktop इसे किसी तरह करता है (पासवर्ड तर्क में बदल जाता है XXXXXXXX); मुझे यह जानकर अच्छा लगेगा। यह कुछ ऐसा ही कर सकता है जैसे कि केवल खुद को जाली करना और नकली तर्क को पारित करना; मुझे यकीन है कि नहीं कर रहा हूँ
माइकल Mrozek

13
लिनक्स पर, एक प्रक्रिया इसके पास दिए गए तर्क सरणी को अधिलेखित कर सकती है। यह अन्य उपयोगकर्ताओं द्वारा दिखाई जाने वाली प्रक्रिया ट्री में परिलक्षित होता है। हालांकि, हमेशा एक समय होता है जब वे उजागर होते हैं, और दौड़ की स्थिति और समय के हमलों के प्रति संवेदनशील हो सकते हैं।
mattdm

15

सामान्य तौर पर, कमांड लाइन तर्क सभी को दिखाई देते हैं। उदाहरण के लिए, OpenBSD पर एक गैर-रूट उपयोगकर्ता के रूप में, मैं रूट के रूप में चलने वाली प्रक्रियाओं के तर्क देख सकता हूं:

$ ps -U root -o command= |grep getty |head -n 1
/usr/libexec/getty std.9600 ttyC0

लिनक्स पर, आप देखेंगे कि सभी /proc/*/cmdlineफाइलें विश्व-पठनीय हैं।

अत्यधिक विशिष्ट सेटिंग्स हो सकती हैं जिसमें कमांड लाइन तर्क निजी रहते हैं। उदाहरण के लिए, SELinux और Solaris अन्य उपयोगकर्ताओं से प्रक्रियाओं को पूरी तरह छिपा सकते हैं । लेकिन जब तक आप पूरी तरह से नहीं जानते कि आप ऐसी किसी सेटिंग में हैं, मान लें कि कमांड लाइन तर्क सार्वजनिक हैं।


8

मानक सेटअप पर तर्क दिखाई देते हैं। जैसा कि पहले ही उल्लेख किया गया है , प्रक्रियाएं उन्हें स्मृति में अधिलेखित कर सकती हैं, लेकिन अन्य प्रक्रियाओं से पहले उन्हें देखने का मौका नहीं मिला है।

हालाँकि, ग्रामसिटी पैचसेट में एक पैच शामिल होता है जो इसे बदलता है ताकि प्रक्रिया स्वामी (और रूट) एक प्रक्रिया के लिए दिए गए तर्कों को देख सकें।

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