কোনও অপারেটিং সিস্টেম কোনও সুবিধাপ্রাপ্ত নির্দেশনা কার্যকর করা থেকে একটি অনিবদ্ধ প্রক্রিয়াটিকে কীভাবে আটকাবে?


8

ইউনিক্সে,

আপনি যদি কোনও অতিথি ব্যবহারকারী হন এবং করেন:

chmod 777 /

এটা ব্যর্থ হবে।

তবে হার্ডওয়্যার স্তরে কীভাবে অভ্যন্তরীণভাবে এটি ঘটে?

এখনও অবধি, আমি মনে করি এটিই ঘটে:

  • ওএস সেই নির্দেশটি কার্যকর করার চেষ্টা করে।
  • অনুমতি সম্পর্কে তথ্য সম্ভবত কোথাও গৌণ স্মৃতি। সুতরাং এটি একটি লেখার নির্দেশ জারি করবে।
  • 2 এর আগে, ব্যবহারকারী এটি করার সুযোগ পেয়েছে কিনা তা এটি পরীক্ষা করে দেখবে। তিনি না হলে এটি কেবল একটি ত্রুটি বার্তা জারি করবে।

এভাবেই কী ঘটে, বা যখন এমন পরিস্থিতি দেখা দেয় তখন বাধা সৃষ্টি হয়? অনাবদ্ধ নির্দেশাবলীর সাথে মিল রেখে মূল স্মৃতিতে কি আইএসআর টেবিলে কোনও রুটিন রয়েছে?

উত্তর:


10

chmodএকটি ফাইল সিস্টেম অপারেশন , কোনও সুবিধাযুক্ত নির্দেশ নয়। ফাইল সিস্টেমের অনুমতিগুলি হার্ডওয়্যার স্তরে পরিচালিত হয় না। সফ্টওয়্যার (বিশেষভাবে ওএস) দেখে প্রক্রিয়া সিস্টেম কল invoking ফাইলসিস্টেম বস্তু এবং একটি অনুমতির ত্রুটি সহ সিস্টেম কল আয় ক্রিয়াকলাপটি সম্পাদন করার জন্য যথেষ্ট অনুমতি নেই।


5

আসলে, আপনি দুটি ভিন্ন প্রশ্ন জিজ্ঞাসা করছেন:

  1. কোনও অপারেটিং সিস্টেম কোনও সুবিধাপ্রাপ্ত নির্দেশনা কার্যকর করা থেকে একটি অনিবদ্ধ প্রক্রিয়াটিকে কীভাবে আটকাবে?
  2. একটি অনিবদ্ধ প্রক্রিয়া কেন প্রার্থনা করতে পারে না chmod 777 /?

2 এর জন্য উত্তর:

chmodঅভ্যন্তরীণভাবে libc থেকে একটি ফাংশন প্রার্থনা করে (স্বাচ্ছন্দ্যে এটিও বলা হয় chmod())। এই ফাংশনটি কলকারীটির অপারেশনের জন্য পর্যাপ্ত সুযোগ রয়েছে কিনা তা যাচাই করে - যদি তা না হয় তবে এটি ত্রুটি ফিরে আসে EPERM

1 এর উত্তর আরও আকর্ষণীয়:

সঠিক প্রক্রিয়াটি ওএস এবং হার্ডওয়্যার প্ল্যাটফর্মের উপর নির্ভর করে তবে মূলত এটি এর মতো: সমস্ত আধুনিক প্রসেসর অন্তর্নির্মিত সুরক্ষা বৈশিষ্ট্যযুক্ত। এটি ওএসকে প্রসেসরকে বলতে দেয়: "এই প্রোগ্রামটি চালান, তবে এই সুবিধাপূর্ণ নির্দেশাবলী কার্যকর করতে দেবেন না"। সুতরাং প্রসেসর নিজেই অনুমোদিত নির্দেশাবলীর উপর বিধিনিষেধ প্রয়োগ করবে। যদি প্রোগ্রামাম কোনও সুবিধাযুক্ত নির্দেশ কার্যকর করার চেষ্টা করে, প্রসেসরটি নিয়ন্ত্রণকে ওএস-এ ফিরিয়ে দেয়, যা সাধারণত দুর্ব্যবহার প্রোগ্রামটি শেষ করে দেয়। বিশদগুলির জন্য, দেখুন https://en.wikedia.org/wiki/Ring_%28 কম্পিউটার কম্পিউটার_১৯৯৯

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.