अगर मैं इस तरह के तर्क के साथ एक आदेश आह्वान:
bob@bob-pc:~$ command -arg1 -arg2
... क्या अन्य उपयोगकर्ता कमांड को पास किए गए तर्कों को देख सकते हैं?
अगर मैं इस तरह के तर्क के साथ एक आदेश आह्वान:
bob@bob-pc:~$ command -arg1 -arg2
... क्या अन्य उपयोगकर्ता कमांड को पास किए गए तर्कों को देख सकते हैं?
जवाबों:
सामान्य तौर पर, वे इसे देख सकते हैं। यह w
मैन पेज से है:
प्रत्येक उपयोगकर्ता के लिए निम्न प्रविष्टियाँ प्रदर्शित की जाती हैं: लॉगिन नाम, ट्टी नाम, दूरस्थ होस्ट, लॉगिन समय, निष्क्रिय समय, JCPU, PCPU, और उनकी वर्तमान प्रक्रिया की com‐ मंड लाइन।
आपकी वर्तमान में चल रही प्रक्रिया की पूरी कमांड लाइन प्रदर्शित की जाएगी। इसलिए आप कमांड लाइन के तर्कों के माध्यम से पासवर्ड जैसी चीजों की आपूर्ति नहीं करना चाहते हैं।
XXXXXXXX
); मुझे यह जानकर अच्छा लगेगा। यह कुछ ऐसा ही कर सकता है जैसे कि केवल खुद को जाली करना और नकली तर्क को पारित करना; मुझे यकीन है कि नहीं कर रहा हूँ
सामान्य तौर पर, कमांड लाइन तर्क सभी को दिखाई देते हैं। उदाहरण के लिए, OpenBSD पर एक गैर-रूट उपयोगकर्ता के रूप में, मैं रूट के रूप में चलने वाली प्रक्रियाओं के तर्क देख सकता हूं:
$ ps -U root -o command= |grep getty |head -n 1
/usr/libexec/getty std.9600 ttyC0
लिनक्स पर, आप देखेंगे कि सभी /proc/*/cmdline
फाइलें विश्व-पठनीय हैं।
अत्यधिक विशिष्ट सेटिंग्स हो सकती हैं जिसमें कमांड लाइन तर्क निजी रहते हैं। उदाहरण के लिए, SELinux और Solaris अन्य उपयोगकर्ताओं से प्रक्रियाओं को पूरी तरह छिपा सकते हैं । लेकिन जब तक आप पूरी तरह से नहीं जानते कि आप ऐसी किसी सेटिंग में हैं, मान लें कि कमांड लाइन तर्क सार्वजनिक हैं।
मानक सेटअप पर तर्क दिखाई देते हैं। जैसा कि पहले ही उल्लेख किया गया है , प्रक्रियाएं उन्हें स्मृति में अधिलेखित कर सकती हैं, लेकिन अन्य प्रक्रियाओं से पहले उन्हें देखने का मौका नहीं मिला है।
हालाँकि, ग्रामसिटी पैचसेट में एक पैच शामिल होता है जो इसे बदलता है ताकि प्रक्रिया स्वामी (और रूट) एक प्रक्रिया के लिए दिए गए तर्कों को देख सकें।