कौन से बहु-उपयोगकर्ता ऑपरेटिंग सिस्टम एक उपयोगकर्ता को अन्य उपयोगकर्ताओं की वर्तमान कमांड लाइन देखने की अनुमति देते हैं?


13

मैं पढ़ रहा था की मैनपेजunzip , और निम्न में भाग

-P password
       use password to decrypt encrypted zipfile entries (if  any).   THIS
       IS  INSECURE!   Many  multi-user operating systems provide ways for
       any user to see the current command line of any other user; even on
       stand-alone systems there is always the threat of over-the-shoulder
       peeking.

हालांकि स्पष्ट पाठ में पासवर्ड टाइप न करने और (शेल इतिहास में उन्हें समाप्त करने) की सुरक्षा सावधानी निश्चित रूप से सच है, मुझे यह विश्वास करना कठिन लगता है कि वहाँ ऑपरेटिंग सिस्टम हैं जहां कोई भी उपयोगकर्ता किसी अन्य की कमांड लाइन देख सकता है उपयोगकर्ता । क्या कोई मुझे एक उदाहरण दे सकता है (विरासत प्रणाली शामिल है)?


मुझे विश्वास है ps, topआदि यूनिक्स के लिए उत्तर हैं।


कीबोर्ड ड्राइवर)
STTR

@STTR मैं हार्डवेयर के बारे में बहुत कम जानता हूं, इसलिए मुझे यकीन नहीं है कि अगर कीबोर्ड ड्राइवर सभी उपयोगकर्ताओं को समान और पूर्ण पहुंच प्रदान करता है, लेकिन यह निश्चित रूप से एक ओएस नहीं है और इसके साथ कोई भी जुड़ा हुआ नहीं है।
4a11e1

1
बस एक नोट, यदि आप बैश इतिहास में जाने से एक कमांड रखना चाहते हैं, तो एक स्थान के साथ कमांड को पूर्ववर्ती करें।
joshreesjones

जवाबों:


4

मेरा अनुमान है कि यूनिक्स / लिनक्स सिस्टम का उपयोग lsofकरने पर उपयोगकर्ता इंटरैक्शन को संभावित रूप से उजागर किया जा सकता है। वह तर्क lsofजो सिस्टम पर खुली फाइलों की सूची दिखाता है। और शायद अगर कोई एक बड़ी फ़ाइल खोल रहा है तो यह अभी भी किसी के लिए लंबे समय तक खुला रहेगा और फिर गतिविधि पर नज़र रखेगा। हेक, एक बैश स्क्रिप्ट लिखने और इसे हर मिनट चलाने के लिए एक क्रॉन जॉब के माध्यम से ओपन फ़ाइल गतिविधि के एक लॉग को इकट्ठा करने के लिए काफी तुच्छ होगा।

लेकिन वह अभी भी मेरे लिए झूठी है। मेरा मतलब है lsofकि संभावित रूप से इनलाइन MySQL पासवर्डों को इस तरह से उजागर करना है। लेकिन मैं 100% नहीं हूं कि क्या कोई सामान्य उपयोगकर्ता बिना sudo/ रूट अधिकार के lsofअन्य उपयोगकर्ताओं की तरह गतिविधि देख पाएगा ।


3
उह आप निश्चित रूप से सही रास्ते पर हैं। मुझे लगता है कि lsofअन्य उपयोगकर्ताओं की खुली फाइलें दिखाता है और आपको उन्नत विशेषाधिकार (मेरे संस्थान के सर्वर पर परीक्षण) की आवश्यकता नहीं है। इसी तरह, अन्य उपयोगकर्ता की कमांड लाइनों को प्रकट psऔर topप्रकट करता है।
4a11e1

1
मैंने आगे के मैनपेज़ की जाँच की ps, topऔर lsofविशेषाधिकार का कोई उल्लेख नहीं पाया। यह सवाल भी है: अन्य उपयोगकर्ताओं के लिए एक प्रक्रिया को अदृश्य कैसे बनाया जाए? । तो मुझे लगता है कि कमांड लाइन वास्तव में UNIX सिस्टम पर सभी के लिए दृश्यमान हैं। हम्म, बड़ा आश्चर्य है।
4a11e1

मैं बारे में पता चला ttysnoopऔर conspyफिर भी मुझे यकीन है कि क्या है या नहीं वे रूट विशेषाधिकारों की आवश्यकता नहीं कर रहा हूँ।
विनायक

lsofकमांड लाइन के पैरामीटर को देखने की अनुमति देने के लिए कौन से विकल्प हैं? उदाहरण के लिए, lsof -a +c0 /dev/nullमैं लंबे कमांड नाम देख पा रहा हूं, लेकिन कमांड को पास नहीं किया गया है। मुझसे क्या छूट गया? :-)
हस्त्तूर

4

यूनिक्स "पीएस" की अनुमति देता है। साथ ही, यूनिक्स में आमतौर पर एक "डब्ल्यू" कमांड होता है जो यह दिखाएगा कि उपयोगकर्ता क्या चला रहे हैं। "w" आमतौर पर टर्मिनल आकार के आधार पर कमांड काट सकता है, लेकिन इसे ओवरराइड किया जा सकता है। (एक आसान तरीका सिर्फ एक व्यापक टर्मिनल का उपयोग करना हो सकता है।)

यह संभवतः कई यूनिक्स जैसी प्रणालियों (लिनक्स, बीएसडी सिस्टम, सोलारिस, आदि) को भी प्रभावित करेगा।

मुझे विश्वास है कि माइक्रोसॉफ्ट विंडोज टास्क मैनेजर में भी यह दिखाएगा। खैर, हो सकता है कि Windows Vista और उपयोगकर्ता खाता नियंत्रण के साथ कम आम है, क्योंकि उपयोगकर्ता खाता नियंत्रण की आवश्यकता हो सकती है। लेकिन WinXP / Server2003 और इससे पहले के दिनों में, इस तरह के प्रतिबंध अधिक ढीले हो सकते हैं। एक कारण है कि NET USE ने तारांकन का समर्थन करना शुरू किया और फिर उपयोगकर्ता को पासवर्ड के लिए संकेत दिया। साथ में:

WMIC /NODE:ComputerName PROCESS LIST

एक उपयोगकर्ता को संभवतः कमांड चलाने के लिए उसी कंप्यूटर पर होने की आवश्यकता नहीं है। ऑफहैंड, मुझे संदेह है कि टास्कलिस्ट, टीएलस्ट, और पीएसएलस्ट (माइक्रोसॉफ्ट द्वारा सभी स्वतंत्र रूप से वितरित) के कई लोग शायद यह देखने की क्षमता का भी समर्थन करते हैं कि क्या हो रहा है, उपयोगकर्ता चाहे जो भी हो। कम से कम, प्रशासक विशेषाधिकारों वाले उपयोगकर्ता, जो पूर्व-विस्टा ऑपरेटिंग सिस्टम पर अधिक सामान्य थे। (Win9x में, सामान्य मानक यह था कि सभी उपयोगकर्ताओं में प्रशासक जैसी क्षमताएं थीं।) ध्यान रखें कि Info-Zip, जो कि आपके द्वारा उद्धृत किया गया दस्तावेज़ है, WinXP की तुलना में काफी पुराना है। ऑफहैंड मुझे लगता है कि यह Win95 से पुराना है।

पुराने बहु-उपयोगकर्ता प्रणालियों के साथ, गोपनीयता एक चिंता का विषय नहीं थी। यह देखने में सक्षम है कि कंप्यूटर क्या कर रहा है, जिसमें अन्य उपयोगकर्ता जो कमांड चला रहे थे, उसे संभवतः सकारात्मक विशेषता के रूप में देखा गया था, न कि सुरक्षा में नकारात्मक उल्लंघन। शायद अधिक लागू सवाल यह है: क्या कोई प्रमुख मल्टी-उपयोगकर्ता ओएस है जो उपयोगकर्ताओं को यह देखने में सक्षम नहीं करता है कि कंप्यूटर पर क्या कमांड चलाए जा रहे हैं?

सुरक्षित दृष्टिकोण एक कमांड लाइन पर संवेदनशील पासवर्ड कभी नहीं डालना है। एक अन्य विकल्प किसी फ़ाइल में पासवर्ड डालना हो सकता है, और फिर उस फ़ाइल को कमांड लाइन पर निर्दिष्ट करना है। उदाहरण के लिए:

type pwfile | command

कम से कम इस तरह से, फ़ाइल सिस्टम कार्यान्वयन पर आधारित अनुमतियाँ संभवतः कुछ सुरक्षा प्रदान करेंगी।


1
विंडोज पर किसी अन्य उपयोगकर्ता की प्रक्रिया को देखने के लिए, आपको एक व्यवस्थापक होना चाहिए।
मोशे कटज़

4

कुछ (और मेरा मानना ​​है कि सभी) लिनक्स तरीके zip -PThat_Password ...बिना रूट विशेषाधिकार के किसी अन्य उपयोगकर्ता की कमान देखने के लिए :

  • cat /proc/24695/cmdline यदि पीआईडी ​​24695 है ...

    zip-P That_Password

    नोट: यह रिक्त स्थान के बिना है, लेकिन पासवर्ड का अनुमान लगाना संभव है

  • grep -H -e "zip" /proc/[0-9]*/cmdline

    द्विआधारी फ़ाइल / proc / 24695 / cmdline मैच

    अच्छी तरह से अगर यह काम करता है catयह सब कुछ पाठ आधारित काम करता है ...

  • pgrep -a zipविकल्प -a पूरी कमांड लाइन और साथ ही प्रक्रिया आईडी को सूचीबद्ध करता है। (पुराने संस्करण पर हमेशा उपलब्ध नहीं [उदा <2008] का pgrep)

    २४६ ९ ५ ज़िप- पा_त_शब्द

और निश्चित रूप से सेशन का उल्लेख किया

  • ps -aux | grep zip

    That_User 24695 1.9 0.0 15012 1192 pts / 40 T 12:37 0:45 zip -P That_Sassword

  • top -c -b -n 1 | grep zip कुछ इस तरह का जवाब

    24695 That_User 20 0 15012 1192 820 T 0.0 0.0 0: 45.12 ज़िप-That_Password


@JakeGould कम से कम मेरे सिस्टम पर कमांड जैसे cat /proc/24695/cmdlineस्पेस के बिना आउटपुट देना ...
Hastur

1
ps ax

यूनिक्स / लिनक्स और इसी तरह के।

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