সুডো সার্ভিস কী করে?


17

আমি যতদূর জানি এবং মনে হয় অন্য লোকের মতামত একই রকম sudo একটি আদেশ যা প্রশাসনিক সুযোগ-সুবিধা সহ কিছু কার্যকর করে।

তবে আমি যখন চালাচ্ছি তখন আমি rcconfএই লাইনটি দেখতে পাচ্ছি:

[*] sudo    Provide limited super user privileges to specific users

তাহলে এই পরিষেবা দিয়ে কী লাভ? অথবা এটি কি একটি পরিষেবা?


এই আমি কি পাওয়া যায় যখন অনুসন্ধানের গুগল> Sudo
আদি

"এখানেই সুডো আসেন - এটি অনুমোদিত ব্যবহারকারীদের (সাধারণত" প্রশাসনিক "ব্যবহারকারীদের; আরও তথ্যের জন্য দয়া করে অ্যাড ইউজারহোটো দেখুন) কোনও রুট হিসাবে পাসওয়ার্ড না জেনে কিছু প্রোগ্রাম চালাতে পারে" " - আমি আমার প্রশ্নে ঠিক তাই বলেছিলাম।
s3v3n

3
প্রশ্নটি সার্ভিস সম্পর্কিত, আদেশ নয়
s3v3n

উত্তর:


22

সংক্ষিপ্ত উত্তর

পুনরায় বুট করাতে ব্যবহারকারীদের 'ক্যাশেড' প্রমাণীকরণ ক্রিয়া বাতিল করতে। এটি ডেমন নয়, বুট সময়ে একটি স্ক্রিপ্ট চালানো হয়।


বিস্তৃত উত্তর

/etc/init.d/sudo'পরিষেবা শুরু করে' যে init ফাইলটি পরীক্ষা করে আপনি সহজেই দেখতে পাচ্ছেন এটি কী করছে:

case "$1" in
  start)
        # make sure privileges don't persist across reboots
        if [ -d /var/lib/sudo ]
        then
                find /var/lib/sudo -exec touch -t 198501010000 '{}' \;
        fi
        ;;
  stop|reload|restart|force-reload)
        ;;
  *)
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

সুতরাং, মূলত, /var/lib/sudoএটি একটি খুব পুরানো সংশোধন টাইমস্ট্যাম্প পেতে সিস্টেমের শুরুতে কিছু ফাইল স্পর্শ করে। ফলস্বরূপ, 'ক্যাশেড' অনুমোদিত অনুমোদনের ক্রিয়াগুলি পরিষেবা শুরু করার সময় বাতিল হয় (যা বুটে ঘটে)।

/var/lib/sudoডিরেক্টরিতে আরও কিছু বিশদ এবং সেই সময়ের স্ট্যাম্পগুলি দয়া করে? ঠিক আছে, এর মানচিত্র থেকে sudo(8):

[...]
Once a user has been authenticated, a time stamp is updated and the
user may then use sudo without a password for a short period of time
(15 minutes unless overridden in sudoers).
[...]
Since time stamp files live in the file system, they can outlive a
user's login session.  As a result, a user may be able to login, run a
command with sudo after authenticating, logout, login again, and run
sudo without authenticating so long as the time stamp file's
modification time is within 15 minutes (or whatever the timeout is set
to in sudoers).
[...]
/var/lib/sudo           Directory containing time stamps

নিখুঁত উত্তর :)
s3v3n

12

sudoসেবা ফাইল নিশ্চিত হয়ে নিন যে বিশেষাধিকার জন্য নামক একটি পুনরায় বুট করার পরে থেকো না করতে বিদ্যমান। মূলত এটি গ্যারান্টি দেয় যে রিবুট করার পরে, রুট অনুমতিগুলির জন্য ডেকে আনা সাধারণ ব্যবহারকারীরা সাধারণ ব্যবহারকারী হিসাবে থাকবে।


সুডো সম্পর্কে একটি বিশদ ব্যাখ্যা

নীচের সমস্ত ব্যাখ্যার জন্য এই প্রশ্নটি পড়া প্রত্যেকের জন্য সমস্ত তথ্য পাওয়া এবং তারপরে পরিষেবা ফোল্ডারে সুডো ফাইলটি কী করছে তা ব্যাখ্যা করা।

আপনি যখন উবুন্টু বা অন্য কোনও ডিস্ট্রো ইনস্টল করেন sudoযা রুট হওয়া এবং sudo"রুটের মতো" সুবিধাগুলি অর্জনের জন্য ব্যবহারকারী (প্রশাসনিক বা সুপার ব্যবহারকারীর সুবিধাগুলি) ব্যবহারের মধ্যে পার্থক্য ব্যবহার করে যেগুলি নিম্নলিখিত:

মূল হিসাবে

  • আপনি অধিবেশনটিতে চালিত প্রতিটি বা সমস্ত আদেশের জন্য আপনাকে একটি পাসওয়ার্ড জিজ্ঞাসা করা হবে না
  • আপনার চালিত সমস্ত কমান্ড ডিফল্টরূপে লগ হবে না
  • সিস্টেমটি ধরে নিয়েছে যে আপনি কী করছেন জানেন (কারণ আপনি যখনই আদেশটি প্রয়োগ করেন তখন এটি পাসওয়ার্ড জিজ্ঞাসা করে না কেন)
  • আপনি যদি ভুল করেন তবে দ্বিতীয় সুযোগ বা শেষ মুহুর্তের বিকল্প নেই

সুডো হিসাবে

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

সুডো কেন তৈরি হয়েছিল

সৃষ্টির sudo কারণ অতীতে, রুট ব্যবহার সমাধানের চেয়ে বেশি সমস্যার সৃষ্টি করা হয়েছিল। ব্যবহারকারীরা যা বোঝানো যদি তারা কিছু বসন্ত পরিষ্করণ করেনি এবং আক্ষরিক মোছা সকল অধিকার, ছিল /usr, /libএবং /binফোল্ডার (কারণ তারা মনে তারা তাদের প্রয়োজন না) .. অনুমান যে কী ঘটবে। অতীতে অনেকগুলি সমস্যা ছিল কারণ ব্যবহারকারীরা রুট ব্যবহার করার সময় তাদের যে শক্তি ছিল তা জানতেন না। মূলত এগুলির মূল ছিল তবে লিনাক্স, ফাইল সিস্টেমের স্তরক্রম, কোন ফাইলগুলি গুরুত্বপূর্ণ ছিল ইত্যাদি বুঝতে পারেনি ((ফেরারি থাকা এবং কীভাবে গাড়ি চালাবেন ... হাইওয়েতে জেনে না নেওয়ার মতো কিছু!)

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

অতিরিক্ত হিসাবে এটি আরও ভাল সুরক্ষা দেয় কারণ মূল ব্যবহারকারী ডিফল্টরূপে অক্ষম হয়।

সর্বশেষে, আপনার যদি ডেস্কটপ পিসি বা সার্ভার থাকে তবে আপনি সত্যিই সবাইকে মূল হিসাবে থাকতে চান না বা সমস্ত অ্যাডমিন সুবিধাদি পেতে চান না। খুব খারাপ ধারণা যদি আপনার ছোট বোন বা ছোট ভাইয়েরা ভাবতে শুরু করে যে কী /bootপূরণের পরে DELকী হবে। এখানেই sudoকিছু খারাপ হওয়ার সম্ভাবনা হ্রাস করতে আসে।

কী সীমাবদ্ধ সুপার ইউজার বিশেষাধিকার প্রদান করার জন্য নির্দিষ্ট ব্যবহারকারীদের মানে?

sudo ব্যবহারকারী বা sudoers আসলে একটি কনফিগারেশন ফাইল থাকে যা তাদের নির্দিষ্ট ব্যবহারকারীের জন্য sudo কমান্ড কতটা সীমাবদ্ধ বা খোলার তা জানায়। এই ফাইলটিতে /etc/sudoersএকটি সুডো ব্যবহারকারীর সীমাবদ্ধ বা অ্যাক্সেস দেওয়ার সমস্ত তথ্য রয়েছে। ডিফল্টরূপে এটি সমস্ত কিছুর অ্যাক্সেসের সাথে আসে তবে আপনি এটি আপনার ইচ্ছা অনুসারে কনফিগার বা সীমাবদ্ধ করতে পারেন।

man sudoersটার্মিনালে sudoers ফাইল টাইপ কীভাবে ব্যবহার করতে হয় সে সম্পর্কে তথ্যের জন্য । উদাহরণস্বরূপ সাধারণ ফর্ম্যাটটি হ'ল:

ব্যবহারকারী হোস্ট = কম্যান্ডস

উদাহরণস্বরূপ cyrex server1 = /bin/lsহোস্ট সার্ভার 1-তে ব্যবহারকারী সেরিক্সকে ls কমান্ড চালানোর অনুমতি দেবে।

উদাহরণস্বরূপ cyrex server1 (root) = /bin/ls, হোস্ট সার্ভার 1-তে ব্যবহারকারী সাইরেক্সকে ls কমান্ডটি রুট হিসাবে চালাতে অ্যাক্সেস দেবে।

উদাহরণস্বরূপ cyrex ALL = /bin/ls, সমস্ত হোস্টের ব্যবহারকারী সাইরেক্সকে ls কমান্ড চালানোর জন্য অ্যাক্সেস দেবে।

উদাহরণস্বরূপ cyrex ALL = ALL, সমস্ত হোস্টের ব্যবহারকারী সাইরেক্সকে সমস্ত কমান্ড চালানোর অ্যাক্সেস দেবে।

উদাহরণ হিসেবে বলা যায় luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killallআমার জন্য উবুন্টু চালানোর জন্য অনুমতি দেবে killএবং killallপাসওয়ার্ড জিজ্ঞাসা না করে রুট হিসাবে কমান্ড।

এখানে চিত্র বর্ণনা লিখুন


2
সুডো কমান্ড কী করে সে সম্পর্কে সে জানে। প্রশ্নটি সুডোর জন্য একটি সিস্টেম পরিষেবা সম্পর্কে।
gertvdijk

1
@gertvdijk - আমাকে প্রথমে বেসিকগুলি ব্যাখ্যা করতে হয়েছিল, যেহেতু কেবল তিনিই এই প্রশ্নটি দেখছেন না। পরিষেবাটির ফোল্ডারে সুডো ফাইলের জন্য আমি দেখতে পেলাম একমাত্র কারণটি শেষ অংশে অন্তর্ভুক্ত রয়েছে।
লুইস আলভারাডো

ধন্যবাদ লুইস আলভারাডো - এত বিস্তৃত তথ্যের জন্য ওলভার এবং মজাদার সংশোধিত xkcd এর জন্য !!ব্যাং ব্যাং অপারেটরকে উল্লেখ করার জন্য ধন্যবাদ , তবে পরিষেবাটি (কমান্ড নয়) কী sudoকরে? যদি আপনি নিজের উত্তরটি সত্যই প্রশ্নের উত্তর দিতে আপডেট করতে পারেন তবে তা দুর্দান্ত হবে।
s3v3n

1
শেষে মাত্র একটি বাক্যাংশের জন্য সমস্ত কিছু ব্যাখ্যা করে ওভারকিল কিছুটা, তবে এটি আমার প্রশ্নের উত্তর দেয়;)
s3v3n

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