ওএস কীভাবে জানতে পারে যে একটি কমান্ডের sudo দরকার?


16
  1. আপনি যখন এক্সিকিউটেবল চালাবেন, কখনও কখনও ওএস আপনার অনুমতি অস্বীকার করবে। উদাহরণস্বরূপ, make installসিস্টেম পাথ হিসাবে উপসর্গের সাথে দৌড়াতে হবে sudoএবং উপসর্গটি একটি সিস্টেমহীন পাথের জন্য জিজ্ঞাসা করা হবে না sudo। ওএস কীভাবে সিদ্ধান্ত নেবে যে এক্সিকিউটেবল চালানোতে কোনও প্রোগ্রামের কিছু করার আগেই একজন ব্যবহারকারীর চেয়ে আরও বেশি সুযোগের প্রয়োজন হয়?
  2. কখনও কখনও, কোনও প্রোগ্রাম চালানোর অনুমতি বঞ্চিত করা হবে না, তবে প্রোগ্রামটি চালিত হলে আরও কিছু করতে সক্ষম হবে sudo। উদাহরণস্বরূপ, যখন duকোনও সিস্টেম ডিরেক্টরি চালিত হয় তখন কেবল sudoএটির সাহায্যে কিছু ডিরেক্টরি অ্যাক্সেস করতে সক্ষম হবে। প্রোগ্রামটি চালুর আগে ওএস কেন এই জাতীয় প্রোগ্রামটি চালানোর অনুমতি অস্বীকার করে না, বা বন্ধুত্বপূর্ণ সূচিত করে আরও বেশি সুযোগ সুবিধা দেওয়া হয়?
  3. এটি কি সত্য যে যখনই sudoকাজ করে, কাজ suকরবে, এবং যখনই suকাজ sudoকরবে, তখনও কাজ করবে? বা এর সাথে su, একজন ব্যবহারকারী এর চেয়ে বেশি কিছু করতে পারে sudo? ওএস কখন sudoকাজ করবে এবং কখন suপ্রয়োজন হবে তা কীভাবে সিদ্ধান্ত নেবে ?

এই প্রশ্নের উত্তর কি আপনার জন্য দেওয়া হয়েছে, না আপনি আরও তথ্য চান?
ctrl-alt-delor

উত্তর:


14
  1. কখনও কখনও "অনুমতি অস্বীকৃত" বার্তাটি ফাইল সিস্টেমের অনুমতিগুলির কারণে আপনাকে লেখার অ্যাক্সেস অস্বীকার করে is এক্সিকিউটেবল / টুল কেবলমাত্র এটি পরীক্ষা করে যে এটি ফাইল সিস্টেম আপনাকে যা করতে চলেছে তা করার জন্য যথেষ্ট অনুমতি দেয় এবং যদি ফাইল সিস্টেমের দ্বারা এটি অস্বীকার করা হয় তবে একটি ত্রুটি নিক্ষেপ করে। অন্য সময়ে, সরঞ্জামটি আপনাকে ব্যবহার চালিয়ে যাওয়ার অনুমতি দেওয়ার আগে নিজেই আপনার ব্যবহারকারী আইডি চেক করবে।
  2. আপনি যখন কোনও প্রোগ্রাম sudoচালাচ্ছেন তখন এটি অন্য কোনও ব্যবহারকারীর নামে চালাচ্ছেন। যদি সেই ব্যবহারকারী যদি আপনার ব্যবহারকারীর চেয়ে "বেশি কিছু করতে সক্ষম হন" এবং sudoকনফিগারেশন আপনাকে অন্য ব্যবহারকারীর পক্ষে এই জিনিসগুলি করার sudoঅনুমতি দেয় তবে হ্যাঁ, আপনাকে আরও বেশি কিছু করার অনুমতি দেবে। যদিও এটি প্রয়োজনীয় নয়। যদি আপনি কেবল sudoকমান্ড লাইনের শুরুতে কিছুটা সামলান, আপনি আসলে sudoহিসাবে নিখরচায় রয়েছেন root, সুতরাং সাধারণত আপনি নিছক নশ্বর চেয়ে বেশি কিছু করতে সক্ষম হন।
  3. সর্বাধিক অবশ্যই না। ব্যবহারের জন্য sudoআপনাকে নিজের ব্যবহারকারী পাসওয়ার্ড সরবরাহ করতে হবে এবং তারপরে আপনাকে লক্ষ্য ব্যবহারকারীর পক্ষে কিছু করার অনুমতি দেওয়া হবে। ব্যবহার করতে su, আপনার লক্ষ্য ব্যবহারকারীর পাসওয়ার্ড প্রয়োজন এবং আপনার যদি এটি থাকে তবে আপনি সিস্টেম হিসাবে যতটা লক্ষ্য হিসাবে চিহ্নিত টার্গেট ব্যবহারকারী হয়ে উঠবেন এবং ব্যবহারকারী যা কিছু করতে পারেন তা করতে পারেন।

আরো দেখুন


ধন্যবাদ। "ফাইল সিস্টেমের অনুমতিগুলি আপনাকে অ্যাক্সেস লেখার অনুমতি অস্বীকার করছে" = "ফাইলের অ্যাক্সেস মোডে ব্যবহারকারীর জন্য কোনও এক্সিকিউশন বিট সেট নেই যা chmod দ্বারা সেট করা যায়"?
সমস্ত

1
@ টিম আসলে এটি = "ফাইলের অ্যাক্সেস মোডে ব্যবহারকারীর জন্য লেখার বিট সেট থাকে না"। এবং হ্যাঁ, অবশ্যই chmodআপনি যদি ফাইলটির মালিক হন তবেই এর প্রতিকার করা যেতে পারে root
জোসেফ আর।

সুডো প্রয়োজনীয়, সম্পূর্ণরূপে এবং সম্পূর্ণরূপে ব্যবহারকারীর জন্য এক্সিকিউশন বিট সেট করা হয়নি কিনা তার উপর নির্ভর করে? দেখুন unix.stackexchange.com/q/147052/674
সবার জন্য StackExchange

@ টিম স্পষ্টতই প্রথম স্থানে এক্সিকিউটেবল চালাতে সক্ষম হওয়ার জন্য আপনার এক্সিকিউট বিট দরকার need
জোসেফ আর।

1
@JosephR। আসলেই না. chmod 400 hello && /lib64/ld-linux-x86-64.so.2 ./helloএকটি দুর্দান্ত উত্পাদন করে "হ্যালো, ওয়ার্ল্ড!" আউটপুট।
didal24

24

আপনি যে উদ্দেশ্যে বর্ণনা করেছেন সেগুলি জন্য, OS প্রথমে প্রোগ্রামটি চালানোর জন্য আপনার sudo দরকার কিনা তা সিদ্ধান্ত নেয় না । পরিবর্তে, প্রোগ্রামটি চলমান শুরু হওয়ার পরে এবং তারপরে এমন কিছু করার চেষ্টা করে যা বর্তমান ব্যবহারকারীর দ্বারা অনুমোদিত নয় (যেমন /usr/binএকটি নতুন কমান্ড ইনস্টল করতে কোনও ফাইল লেখার জন্য ), ওএস ফাইল অ্যাক্সেসকে বাধা দেয়। এই শর্তটি গ্রহণের পদক্ষেপটি কর্মসূচি পর্যন্ত; makeচলমান বন্ধ করে দেয় তবে duবার্তা প্রিন্ট করার পরে পরবর্তী ফাইল / ডিরেক্টরিতে এগিয়ে যাবে।

suএবং sudoকমান্ড রুট অধিকারসহ একটি প্রোগ্রাম চলমান দুটি ভিন্ন উপায় আছে। তারা ব্যবহৃত বিকল্পগুলির উপর নির্ভর করে নতুন প্রোগ্রাম শুরু করার সময় পরিবেশের বিষয়বস্তুর মতো ছোটখাট বিশদগুলিতে পৃথক হতে পারে। ওএসের সিদ্ধান্ত নেওয়ার দরকার নেই যখন কখন একজন বা অন্য কাজ করতে পারে।


6

suএবং sudoসুবিধাপ্রাপ্ত প্রোগ্রাম। su(সফল প্রমাণীকরণের পরে) আপনার ব্যবহারকারীর আসল এবং কার্যকর ব্যবহারকারী এবং গ্রুপ আইডি পরিবর্তন suকরে। সুতরাং, suঅনুরূপ login। নোট যে suকোনও ব্যবহারকারীর পরিবর্তন করতে ব্যবহার করা যেতে পারে, শুধুমাত্র রুট নয়। sudoবাস্তব এবং কার্যকর ব্যবহারকারী এবং গোষ্ঠী আইডিকেও পরিবর্তন করে। এই বিন্দু পর্যন্ত suএবং sudoঅনুরূপ (তবে সম্পর্কিত নয়) এর বাইরেও তারা খুব আলাদা।

এর সাথে su, আপনাকে লক্ষ্যটির পাসওয়ার্ড জানতে হবে এবং একবার প্রমাণীকরণ করা গেলে আপনি সেই ব্যবহারকারী হিসাবে যা খুশি তা করতে পারেন। ইন suসেট করে ব্যবহারের সীমাবদ্ধ করা যেতে পারে । যদি এটি সেট করা থাকে তবে কেবলমাত্র গ্রুপের ব্যবহারকারীরা ব্যবহার করতে পারেন , অন্যথায় এটি সীমাবদ্ধ নয়। তা ছাড়া, সব কিছুই বা কিছুই নয়।SU_WHEEL_ONLY/etc/login.defswheelsusu

sudoযে সম্মানের সাথে সম্পূর্ণ ভিন্ন। সঙ্গে sudoআপনি বেশ জটিল নীতি বর্ণনা করতে পারেন /etc/sudoerssudoer (যিনি কল ব্যবহারকারী কি sudo) কি অনুমোদিত হয়। উদাহরণস্বরূপ, আপনি নীতিগুলি সংজ্ঞায়িত করতে পারেন যেখানে নির্দিষ্ট ব্যবহারকারীরা কিছু বিশেষ সুযোগগুলি সহ কেবলমাত্র কয়েকটি প্রোগ্রাম চালাতে পারেন, অন্য ব্যবহারকারীরা অন্যান্য সুবিধাসহ অন্যান্য প্রোগ্রাম চালাতে পারে।

এর অন্যতম আকর্ষণীয় বৈশিষ্ট্য sudoহ'ল আপনি এটিকে এমনটি কনফিগার করতে পারেন যে কোনও ব্যবহারকারীকে তার নিজের পাসওয়ার্ড (টার্গেটের পরিবর্তে) দিয়ে নিজেকে প্রমাণীকরণ করতে হবে। সুতরাং, sudoঅ্যাডমিনদের মধ্যে খুব জনপ্রিয় হয়ে উঠেছে, কারণ এটি ব্যবহারকারীদের কেবলমাত্র অতিরিক্ত ব্যবহারকারীর পাসওয়ার্ড না নিয়েই কেবল নির্ধারিত সুবিধাপ্রাপ্ত অপারেশন করার অনুমতি দেয়, পাশাপাশি আপনি কিছুটা দায়বদ্ধতা পান।


2

tl; dr অ্যাক্সেস ব্যবহারকারী দ্বারা নির্ধারিত হয় যারা অ্যাপ্লিকেশন চালাচ্ছেন, এবং sudoবিভিন্ন ব্যবহারকারী হিসাবে অ্যাপ্লিকেশনগুলি চালান।

পূর্ণ সংস্করণ:

ওএস কীভাবে জানতে পারে যে একটি কমান্ডের sudo দরকার?

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

আপনার উদাহরণ হিসাবে:

  1. যদি ব্যবহারকারীর নির্দিষ্ট ডিরেক্টরিতে লেখার অ্যাক্সেস থাকে তবে তারা make installসেই ডিরেক্টরিতে প্রবেশ করতে পারে। অন্যথায় তারা rootএটি করতে পারে - ব্যবহার করে sudo

  2. আপনি যদি কোনও ডিরেক্টরিতে ফাইলগুলি অ্যাক্সেস করতে না পারেন তবে আপনার duজন্য দৌড়ে যাওয়া এটি অ্যাক্সেসও করতে পারে না। rootকার্যত প্রতিটি ফাইল অ্যাক্সেস করতে পারে, সুতরাং sudo du( duপক্ষ থেকে চালানো root) এগুলিও অ্যাক্সেস করতে পারে।

এটা কি সত্য যে যখনই সুডো কাজ করে, সুও কাজ করবে, এবং যখনই সু কাজ করবে, সুডোও কাজ করবে?

হ্যা এবং না. হ্যাঁ, যদি প্রোগ্রাম আসলে চালানো, এটি উভয় অধীনে একই আচরণ করা উচিত sudoএবং su। যাইহোক, ফাইলগুলিতে sudoসংরক্ষিত নিয়মের সেট দ্বারা কারা চালাতে পারে তার আরও সূক্ষ্ম নিয়ন্ত্রণের অনুমতি দেয় /etc/sudoerssuআরও সহজ - আপনি যদি ব্যবহারকারীর পাসওয়ার্ড লক্ষ্য করে জানেন তবে আপনি সেই ব্যবহারকারীর পক্ষে প্রোগ্রাম পরিচালনা করতে পারেন।

শেষ দ্রষ্টব্য: অ্যাপ্লিকেশন কীভাবে অ্যাক্সেস অস্বীকারকে পরিচালনা করে (এটি ব্যবহারকারীকে উপেক্ষা করে বা উপেক্ষা করে বা সতর্ক করে দেয়) অ্যাপ্লিকেশন পর্যন্ত।


1

কারও কাছে এখনও ✓ নেই, তাই আমি এমন একটি উত্তর একত্রিত করেছিলাম যার মধ্যে আমার যা ভাবা যায় তার সবই আছে।

1 আপনি যখন এক্সিকিউটেবল চালাবেন, কখনও কখনও ওএস আপনার অনুমতি অস্বীকার করবে। উদাহরণস্বরূপ, মেক ইনস্টল চলমান উপস্থার সাথে সিস্টেমের পথ হিসাবে সুডোর প্রয়োজন হবে, এবং উপসর্গটি একটি সিস্টেমহীন পাথ হওয়ার সাথে সাথে সুডোর জন্য জিজ্ঞাসা করা হবে না। ওএস কীভাবে সিদ্ধান্ত নেবে যে এক্সিকিউটেবল চালানোতে কোনও প্রোগ্রামের কিছু করার আগেই একজন ব্যবহারকারীর চেয়ে আরও বেশি সুযোগের প্রয়োজন হয়?

না যখন একটি এক্সিকিউটেবল শুরু হয় এটি করা হয় না। এক্সিকিউটেবল কিছু করার চেষ্টা করলে এটি করা হয়।

ওস ফাইল-সিস্টেমের অনুমতি এবং ক্ষমতাগুলি পরীক্ষা করবে (এগুলি ফাইল-সিস্টেমের অনুমতি দ্বারা আচ্ছাদিত নয়, এবং এতে চমৎকার স্তর হ্রাস, এমকেএনড, কিছু নিম্ন-স্তরের নেটওয়ার্ক স্টাফ, অন্যের প্রক্রিয়াগুলি হ্রাস করা, পুনরায় বুট করা, সময় নির্ধারণ ইত্যাদি) অন্তর্ভুক্ত রয়েছে। আপনার যদি অনুমতি না থাকে তবে আপনি এটি করতে পারবেন না। রুটে CAP_DAC_OVERRIDE (ফাইলের অনুমতি অগ্রাহ্য করুন) সহ পুরো ক্ষমতা রয়েছে।

2 কখনও কখনও, কোনও প্রোগ্রাম চালানোর অনুমতি বঞ্চিত করা হবে না, তবে প্রোগ্রামটি সুডো দিয়ে চালিত হলে আরও কিছু করতে সক্ষম হবে। উদাহরণস্বরূপ, কিছু সিস্টেম ডিরেক্টরিতে du চালানোর সময়, কেবলমাত্র sudo দিয়ে এটি কিছু ডিরেক্টরি অ্যাক্সেস করতে সক্ষম হবে। প্রোগ্রামটি চালুর আগে ওএস কেন এই জাতীয় প্রোগ্রামটি চালানোর অনুমতি অস্বীকার করে না, বা বন্ধুত্বপূর্ণ সূচিত করে আরও বেশি সুযোগ সুবিধা দেওয়া হয়?

ওএস জানতে পারে না প্রোগ্রামটি কী করবে। সুতরাং প্রোগ্রামটি শুরু হওয়ার আগে অনুমতিগুলি যাচাই করা এবং কী করা উচিত তা স্থির করে। এটি যদিও এটি করতে হবে না।

দ্রষ্টব্য: অ্যান্ড্রয়েডে একটি ম্যানিফেস্ট রয়েছে, এতে অ্যাপ্লিকেশনটি ঘোষণা করে যে এটি কী কী সুবিধা ব্যবহার করতে পারে। ওএস এমন কোনও অ্যাপ্লিকেশনকে মেরে ফেলবে যা কোনও বিশেষাধিকার যা এটি ঘোষণা করে না তা ব্যবহার করার চেষ্টা করে এবং ওএস সর্বদা গ্যারান্টি দেয় না যে কোনও অধিকারকে সম্মানিত করা যায়। যেমন নেটওয়ার্ক অ্যাক্সেস উপলব্ধ নাও হতে পারে।

2 এটি কি সত্য যে যখনই সুডো কাজ করে, সুও কাজ করবে, এবং যখনই সু কাজ করবে, সুডোও কাজ করবে? বা সু এর সাথে, কোনও ব্যবহারকারী সুডোর চেয়ে আরও কিছু করতে পারে? যখন sudo কাজ করে এবং কখন su এর দরকার হয় তখন ওএস কীভাবে সিদ্ধান্ত নেবে?

sudoএবং suমোটামুটি একই জিনিস। কিছু পার্থক্য হ'ল পরিবেশ পরিবর্তনশীল হ্যান্ডলিং এবং এই জাতীয় সুরক্ষা সমস্যা এড়ানো। তবে এগুলি উভয়ই আপনাকে অন্য ব্যবহারকারী হওয়ার অনুমতি দেওয়ার জন্য দুটি সরঞ্জাম এবং উভয়েরই মূলের ডিফল্ট ব্যবহারকারী রয়েছে।

su আসল সরঞ্জামটি ছিল, এতে আপনার ব্যবহারকারীর / গোষ্ঠীর পাসওয়ার্ড প্রবেশ করা দরকার।

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

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