एक ऑपरेटिंग सिस्टम एक विशेषाधिकार प्राप्त अनुदेश को निष्पादित करने से एक अप्रकाशित प्रक्रिया को कैसे रोकता है?


8

यूनिक्स में,

यदि आप एक अतिथि उपयोगकर्ता हैं और किया है:

chmod 777 /

यह विफल होगा।

लेकिन यह आंतरिक रूप से हार्डवेयर स्तर पर कैसे होता है?

अब तक, मुझे लगता है कि यही होता है:

  • OS उस निर्देश को निष्पादित करने का प्रयास करता है।
  • अनुमतियों के बारे में जानकारी शायद माध्यमिक स्मृति में कहीं है। इसलिए यह एक लिखित निर्देश जारी करेगा।
  • 2 से पहले, यह जांच करेगा कि क्या उपयोगकर्ता को ऐसा करने का विशेषाधिकार है। अगर वह नहीं है तो यह सिर्फ एक त्रुटि संदेश जारी करेगा।

क्या ऐसा कैसे होता है, या ऐसी स्थिति उत्पन्न होने पर व्यवधान उत्पन्न होता है? क्या मुख्य स्मृति में आईएसआर तालिका में अनपेक्षित निर्देशों के अनुरूप एक दिनचर्या है?

जवाबों:


10

chmodएक फाइलसिस्टम ऑपरेशन है , एक विशेषाधिकार प्राप्त निर्देश नहीं। फ़ाइल सिस्टम अनुमतियाँ हार्डवेयर स्तर पर नियंत्रित नहीं की जाती हैं। सॉफ्टवेयर (विशेष रूप से ओएस) देखता है कि प्रक्रिया सिस्टम कॉल लागू फाइल सिस्टम वस्तु और एक अनुमति त्रुटि के साथ सिस्टम कॉल रिटर्न पर कार्रवाई के लिए पर्याप्त अनुमति नहीं है।


5

दरअसल, आप दो अलग-अलग प्रश्न पूछ रहे हैं:

  1. एक ऑपरेटिंग सिस्टम एक विशेषाधिकार प्राप्त अनुदेश को निष्पादित करने से एक अप्रकाशित प्रक्रिया को कैसे रोकता है?
  2. क्यों एक अनपेक्षित प्रक्रिया आह्वान नहीं कर सकती है chmod 777 /?

2 के लिए उत्तर:

chmodआंतरिक रूप से libc से एक फ़ंक्शन को आमंत्रित किया जाता है (आसानी से कहा जाता है chmod())। यह फ़ंक्शन यह जांचता है कि क्या कॉलर के पास ऑपरेशन के लिए पर्याप्त विशेषाधिकार हैं - यदि नहीं, तो यह त्रुटि देता है EPERM

1 का उत्तर अधिक दिलचस्प है:

सटीक तंत्र ओएस और हार्डवेयर प्लेटफॉर्म पर निर्भर करता है, लेकिन मूल रूप से यह इस तरह है: सभी आधुनिक प्रोसेसर में अंतर्निहित सुरक्षा विशेषताएं हैं। यह ओएस को प्रोसेसर को बताने की अनुमति देता है: "इस कार्यक्रम को चलाएं, लेकिन इसे इन विशेषाधिकार प्राप्त निर्देशों को निष्पादित करने न दें"। तो प्रोसेसर स्वयं अनुमत निर्देशों पर प्रतिबंध लागू करेगा। यदि प्रोग्राम एक विशेषाधिकार प्राप्त निर्देश को निष्पादित करने का प्रयास करता है, तो प्रोसेसर ओएस पर नियंत्रण वापस कर देगा, जो आमतौर पर दुर्व्यवहार कार्यक्रम को समाप्त कर देगा। विवरण के लिए, उदाहरण के लिए https://en.wikipedia.org/wiki/Ring_%28computer_security%29 देखें

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