কারও কাছে এখনও ✓ নেই, তাই আমি এমন একটি উত্তর একত্রিত করেছিলাম যার মধ্যে আমার যা ভাবা যায় তার সবই আছে।
1 আপনি যখন এক্সিকিউটেবল চালাবেন, কখনও কখনও ওএস আপনার অনুমতি অস্বীকার করবে। উদাহরণস্বরূপ, মেক ইনস্টল চলমান উপস্থার সাথে সিস্টেমের পথ হিসাবে সুডোর প্রয়োজন হবে, এবং উপসর্গটি একটি সিস্টেমহীন পাথ হওয়ার সাথে সাথে সুডোর জন্য জিজ্ঞাসা করা হবে না। ওএস কীভাবে সিদ্ধান্ত নেবে যে এক্সিকিউটেবল চালানোতে কোনও প্রোগ্রামের কিছু করার আগেই একজন ব্যবহারকারীর চেয়ে আরও বেশি সুযোগের প্রয়োজন হয়?
না যখন একটি এক্সিকিউটেবল শুরু হয় এটি করা হয় না। এক্সিকিউটেবল কিছু করার চেষ্টা করলে এটি করা হয়।
ওস ফাইল-সিস্টেমের অনুমতি এবং ক্ষমতাগুলি পরীক্ষা করবে (এগুলি ফাইল-সিস্টেমের অনুমতি দ্বারা আচ্ছাদিত নয়, এবং এতে চমৎকার স্তর হ্রাস, এমকেএনড, কিছু নিম্ন-স্তরের নেটওয়ার্ক স্টাফ, অন্যের প্রক্রিয়াগুলি হ্রাস করা, পুনরায় বুট করা, সময় নির্ধারণ ইত্যাদি) অন্তর্ভুক্ত রয়েছে। আপনার যদি অনুমতি না থাকে তবে আপনি এটি করতে পারবেন না। রুটে CAP_DAC_OVERRIDE (ফাইলের অনুমতি অগ্রাহ্য করুন) সহ পুরো ক্ষমতা রয়েছে।
2 কখনও কখনও, কোনও প্রোগ্রাম চালানোর অনুমতি বঞ্চিত করা হবে না, তবে প্রোগ্রামটি সুডো দিয়ে চালিত হলে আরও কিছু করতে সক্ষম হবে। উদাহরণস্বরূপ, কিছু সিস্টেম ডিরেক্টরিতে du চালানোর সময়, কেবলমাত্র sudo দিয়ে এটি কিছু ডিরেক্টরি অ্যাক্সেস করতে সক্ষম হবে। প্রোগ্রামটি চালুর আগে ওএস কেন এই জাতীয় প্রোগ্রামটি চালানোর অনুমতি অস্বীকার করে না, বা বন্ধুত্বপূর্ণ সূচিত করে আরও বেশি সুযোগ সুবিধা দেওয়া হয়?
ওএস জানতে পারে না প্রোগ্রামটি কী করবে। সুতরাং প্রোগ্রামটি শুরু হওয়ার আগে অনুমতিগুলি যাচাই করা এবং কী করা উচিত তা স্থির করে। এটি যদিও এটি করতে হবে না।
দ্রষ্টব্য: অ্যান্ড্রয়েডে একটি ম্যানিফেস্ট রয়েছে, এতে অ্যাপ্লিকেশনটি ঘোষণা করে যে এটি কী কী সুবিধা ব্যবহার করতে পারে। ওএস এমন কোনও অ্যাপ্লিকেশনকে মেরে ফেলবে যা কোনও বিশেষাধিকার যা এটি ঘোষণা করে না তা ব্যবহার করার চেষ্টা করে এবং ওএস সর্বদা গ্যারান্টি দেয় না যে কোনও অধিকারকে সম্মানিত করা যায়। যেমন নেটওয়ার্ক অ্যাক্সেস উপলব্ধ নাও হতে পারে।
2 এটি কি সত্য যে যখনই সুডো কাজ করে, সুও কাজ করবে, এবং যখনই সু কাজ করবে, সুডোও কাজ করবে? বা সু এর সাথে, কোনও ব্যবহারকারী সুডোর চেয়ে আরও কিছু করতে পারে? যখন sudo কাজ করে এবং কখন su এর দরকার হয় তখন ওএস কীভাবে সিদ্ধান্ত নেবে?
sudo
এবং su
মোটামুটি একই জিনিস। কিছু পার্থক্য হ'ল পরিবেশ পরিবর্তনশীল হ্যান্ডলিং এবং এই জাতীয় সুরক্ষা সমস্যা এড়ানো। তবে এগুলি উভয়ই আপনাকে অন্য ব্যবহারকারী হওয়ার অনুমতি দেওয়ার জন্য দুটি সরঞ্জাম এবং উভয়েরই মূলের ডিফল্ট ব্যবহারকারী রয়েছে।
su
আসল সরঞ্জামটি ছিল, এতে আপনার ব্যবহারকারীর / গোষ্ঠীর পাসওয়ার্ড প্রবেশ করা দরকার।
sudo
নতুন এবং এটি আপনার নিজের পাসওয়ার্ড প্রবেশের জন্য ডিফল্টরূপে প্রয়োজন, তবে আপনি যে ব্যবহারকারী / গোষ্ঠীতে স্যুইচ করছেন তার পাসওয়ার্ড বা কোনও পাসওয়ার্ড গ্রহণ করার জন্য কনফিগার করা যেতে পারে। এটি কমান্ডগুলির সাথে এটি কাজ করবে, কাদের জন্য, এবং কীভাবে এটি এই মেশিনে এই ব্যবহারকারীর জন্য এই প্রোগ্রামটির সাথে প্রমাণীকরণ করবে তার অনেক কনফিগারেশনকেও মঞ্জুরি দেয়। এটিরও একটি sudoedit
অংশ রয়েছে sudo
এবং এটি একটি পৃথক ব্যবহারকারী হিসাবে সম্পাদনা করার অনুমতি দিতে এবং কোনও সম্পাদককে সাব-শেলিংয়ের নিরাপত্তাজনিত সমস্যা এড়াতে ব্যবহার করা যেতে পারে (সম্পাদকের কাছ থেকে এক্সিকিউটিভকে ডেকে আনা সুবিধাগুলি সহ একটি স্বেচ্ছাসেবী প্রক্রিয়া চালাতে)।