Computer >> कंप्यूटर >  >> प्रणाली >> Linux

कैसे Setuid उपयोगकर्ताओं को बढ़े हुए विशेषाधिकारों के साथ फ़ाइलें चलाने की अनुमति देता है

कैसे Setuid उपयोगकर्ताओं को बढ़े हुए विशेषाधिकारों के साथ फ़ाइलें चलाने की अनुमति देता है

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

सेटयूड कैसे काम करता है?

Setuid का अर्थ है निष्पादन पर उपयोगकर्ता आईडी सेट करें . मान लें कि हमारे पास रूट उपयोगकर्ता द्वारा बनाई गई "पहचान" नामक एक निष्पादन योग्य है। जब आप इसे चलाते हैं, तो यह आपकी यूजर आईडी, ग्रुप आईडी और यूजर विशेषाधिकारों के साथ चलेगा। यदि सेट्यूड बिट "पहचान" फ़ाइल पर सेट है, जब आप इसे चलाते हैं, तो इसे रूट उपयोगकर्ता और इसके उपयोगकर्ता विशेषाधिकारों के रूप में चलाया जाएगा।

उदाहरण के तौर पर, हम पहले "पहचान" फ़ाइल के स्वामित्व की जांच कर सकते हैं और सत्यापित कर सकते हैं कि यह मूल उपयोगकर्ता के स्वामित्व में है। अनुमति स्ट्रिंग उपयोगकर्ता, समूह और अन्य के लिए सेट किए गए निष्पादन योग्य (x) बिट्स को भी दिखाती है।

कैसे Setuid उपयोगकर्ताओं को बढ़े हुए विशेषाधिकारों के साथ फ़ाइलें चलाने की अनुमति देता है

उपयोगकर्ता "जॉन 1" "पहचान" फ़ाइल निष्पादित करता है, जो निष्पादन पर एक प्रक्रिया बन जाती है। जैसा कि प्रक्रिया सूची में दिखाया गया है, प्रक्रिया "जॉन 1" उपयोगकर्ता नाम और उपयोगकर्ता आईडी के तहत बनाई और चलती है।

कैसे Setuid उपयोगकर्ताओं को बढ़े हुए विशेषाधिकारों के साथ फ़ाइलें चलाने की अनुमति देता है

अगला, एक रूट उपयोगकर्ता के रूप में, हम "पहचान" फ़ाइल का सेटयूड बिट सेट करते हैं:

chmod u+s /usr/bin/identity

"यू" का अर्थ है कि सेटुइड बिट (+s) केवल उपयोगकर्ता के लिए सेट किया जाना चाहिए।

कैसे Setuid उपयोगकर्ताओं को बढ़े हुए विशेषाधिकारों के साथ फ़ाइलें चलाने की अनुमति देता है

स्वामी के लिए, अनुमति स्ट्रिंग के निष्पादन योग्य भाग में हम देख सकते हैं कि "x" को "s" से बदल दिया गया है। जब भी आप एक निष्पादन योग्य के लिए "एस" का सामना करते हैं, तो इसका मतलब है कि उस पर सेट्यूड बिट सेट किया गया है।

chmod . का संख्यात्मक रूपांतर जैसा कि नीचे दिखाया गया है, कमांड का भी उपयोग किया जा सकता है।

chmod 4755 /usr/bin/identity

संख्यात्मक अनुमति स्ट्रिंग में 4 का जोड़ सेट्यूड बिट के समावेश को दर्शाता है।

निम्नलिखित तब होता है जब "जॉन 1" "पहचान" फ़ाइल को फिर से निष्पादित करता है। चल रही प्रक्रियाओं की सूची को देखते हुए, अब हम देख सकते हैं कि प्रक्रिया "john1" के बजाय "रूट" उपयोगकर्ता द्वारा बनाई और चलाई जाती है।

कैसे Setuid उपयोगकर्ताओं को बढ़े हुए विशेषाधिकारों के साथ फ़ाइलें चलाने की अनुमति देता है

सेटयूड बिट का महत्वपूर्ण उपयोग

अधिकांश समय आप विशेषज्ञों से सुनेंगे कि आपको रूट उपयोगकर्ता के रूप में एप्लिकेशन नहीं चलाने चाहिए। हालाँकि, ऐसे उदाहरण हैं जहाँ कुछ फ़ाइलों को रूट अनुमति के साथ चलाने की आवश्यकता होती है। उदाहरण के लिए, passwd उपयोगिता जो कि Linux सिस्टम पर डिफ़ॉल्ट रूप से संस्थापित होती है, उस पर setuid बिट सेट होता है।

कारण सरल है:उपयोगकर्ता के लिए पासवर्ड जानकारी "/ etc / passwd" और "/ etc / छाया" फ़ाइलों में संग्रहीत होती है, जिसे केवल "रूट" द्वारा संशोधित किया जा सकता है। जब "जॉन 1" अपने लिए पासवर्ड बदलने का प्रयास करता है, तो उसे दो उपरोक्त फाइलों में जानकारी को संशोधित करने की अनुमति की आवश्यकता होगी। passwd . पर setuid बिट सेट होने के बाद "जॉन 1" को अस्थायी रूप से उपयोगकर्ता पासवर्ड बदलने और दो फाइलों में जानकारी अपडेट करने के लिए रूट अनुमतियां प्राप्त करने में सक्षम बनाता है।

सेटयूड सुरक्षा जोखिम

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

निष्कर्ष

Setuid केवल निष्पादन योग्य फ़ाइलों पर सेट किया जा सकता है। इसी तरह, setgid बिट को भी सेट किया जा सकता है, जो समूह के सभी सदस्यों को स्वामी अनुमतियों के साथ निष्पादन योग्य चलाने में सक्षम बनाता है।

ध्यान दें कि setuid और setgid बिट सुरक्षा के प्रति संवेदनशील होते हैं और केवल योग्य सिस्टम प्रशासकों द्वारा ही उपयोग किए जाने चाहिए।

आगे पढ़ें:

  • लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें
  • लिनक्स टर्मिनल में वर्तनी जांच कैसे करें
  • Linux में फ़ाइलों को खोजने के लिए खोज, पता लगाएँ, कौन सी और कहाँ की कमांड का उपयोग करना

  1. विंडोज 10 में एक अलग उपयोगकर्ता के रूप में एप्लिकेशन कैसे चलाएं

    जब तक आपके पास दूसरे खाते के लिए क्रेडेंशियल हैं, तब तक विंडोज आपको अपने खाते से एक अलग उपयोगकर्ता खाते के रूप में एप्लिकेशन चलाने की अनुमति देता है। यह कार्यक्षमता विंडोज के सभी संस्करणों यानी विंडोज 7, 8 और 10 में उपलब्ध है। जबकि हम केवल इस आलेख में विंडोज 10 को कवर कर रहे हैं, वही निर्देशों का अन

  1. Windows 10 पर JAR फ़ाइलें कैसे चलाएँ?

    एक J . के लिए एक जार फ़ाइल छोटी है अवा एआर chive फ़ाइल और उसके भीतर जावा प्रोग्राम (जावा क्लास फ़ाइलें, मेटाडेटा, और संसाधन) रखता है। पैकेज फ़ाइल स्वरूप (.zip फ़ाइल स्वरूप के समान) होने के कारण, एक जार फ़ाइल का उपयोग पोर्टेबिलिटी में सुधार करने और इन फ़ाइलों द्वारा लिए जाने वाले स्थान की मात्रा को क

  1. दूसरों के साथ OneDrive फ़ाइलें कैसे साझा करें।

    माइक्रोसॉफ्ट वनड्राइव विंडोज के लिए डिफॉल्ट ऑनलाइन स्टोरेज और सिंकिंग सर्विस है। इसके साथ आने वाली अविश्वसनीय रूप से विस्तृत विशेषताओं के साथ, हमें यह कहने में कोई आपत्ति नहीं है कि यह ऐप अपने लगभग सभी प्रतिस्पर्धियों से बेहतर है। वनड्राइव आपको दस्तावेजों को ऑनलाइन स्टोर करने देता है और आपको वेब ए