সুডো ব্যবহারকারী এবং মূল ব্যবহারকারী [বন্ধ] এর মধ্যে পার্থক্য


21

/etc/sudoersফাইল তালিকা যা ব্যবহারকারীদের সাথে কি করতে পারি sudoকমান্ড

রুট ব্যবহারকারী /etc/sudoersফাইলটি তৈরি এবং পরিবর্তন করে ।

এই ধারণাটি আমার পক্ষে বুঝতে অসুবিধা হয়।

সুডো প্রাইভেলাইজ থাকা সমস্ত ব্যবহারকারী যদি sudoersগ্রুপের অন্তর্ভুক্ত হন তবে sudo suকমান্ডটি দিয়ে তারা সকলেই মূল হয়ে উঠতে পারেন ।

তাহলে প্রকৃত মূল ব্যবহারকারী কে এবং কীভাবে তিনি sudoers গ্রুপের ব্যবহারকারীদের ক্ষমতা নিয়ন্ত্রণ করবেন?

আমার এটা দয়া করে ব্যাখ্যা করুন।


4
আমি মনে করি আপনার কোন অংশটি বোঝা কঠিন তা নিয়ে প্রসারিত করা দরকার।
গ্যারেথTheRed

মূল ব্যবহারকারী কে? এই প্রশ্নটি আমার পক্ষে বোঝা মুশকিল। Humn শুধুমাত্র ব্যবহারকারীরা sudoers গ্রুপে belng পারবেন না কারণ
রাঞ্চো

@ ফ্র্যাঙ্কো প্রশ্ন আপডেট করুন, দয়া করে
পিটারফ


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

উত্তর:


29

নির্বাহী সংক্ষিপ্তসার: "রুট" প্রশাসক অ্যাকাউন্টের আসল নাম। "sudo" একটি কমান্ড যা সাধারণ ব্যবহারকারীদের প্রশাসনিক কাজ সম্পাদন করতে দেয়। "সুডো" কোনও ব্যবহারকারী নয়।


দীর্ঘ উত্তর:

"রুট" (ওরফে "সুপারইউজার") সিস্টেম অ্যাডমিনিস্ট্রেটর অ্যাকাউন্টের নাম। নামের উত্সটি কিছুটা প্রত্নতাত্ত্বিক তবে এটি কোনও বিষয় নয়।

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

"Sudo" কমান্ড উদ্ভাবনের আগে, আপনি যদি প্রশাসনিক কাজ সম্পাদন করতে চান, আপনাকে রুট হিসাবে লগইন করতে হবে, হয় কোনওভাবে লগইন প্রম্পট পেয়ে অথবা suবিকল্প ব্যবহারকারীর জন্য "su" সংক্ষিপ্ত হওয়া)

এটি কিছুটা ঝামেলা এবং এটি আপনাকে ব্যবহারকারীদের আংশিক প্রশাসনিক ক্ষমতা দিতে দেয় না। সুতরাং "sudo" কমান্ড ("বিকল্প ব্যবহারকারী কর" এর জন্য সংক্ষিপ্ত) উদ্ভাবিত হয়েছিল।

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

সুতরাং, উদাহরণস্বরূপ sudo vi /etc/hostsআপনাকে হোস্ট ফাইলটি সম্পাদনা করার অনুমতি দেবে যেন আপনি রুট হিসাবে চালাচ্ছেন। এমনকি আপনার নিজের পাসওয়ার্ডেরও প্রয়োজন নেই, কেবল নিজের লগইন পাসওয়ার্ড।

এবং অবশ্যই, sudo suআপনাকে কেবল রুট হওয়ার অনুমতি দেয়। ফলাফলটি একই রকম যেমন আপনি রুট হিসাবে লগ ইন করেছেন বা suকমান্ডটি কার্যকর করেছেন , আপনি রুট পাসওয়ার্ড জানতে হবে না তবে আপনাকে sudoers ফাইলে থাকতে হবে।

Sudoers ফাইল নির্ধারণ করে যে কে sudo কমান্ড ব্যবহার করতে পারে এবং তারা এর সাথে কী করতে পারে।

সুডোর ফাইলটি আপনাকে একাধিক প্রশাসক দেয় ⁴ কার্যকরভাবে, আপনার প্রশাসকরা মূল, এবং sudoers ফাইলে তালিকাভুক্ত প্রত্যেকে। সুডোর ফাইল ব্যতীত একমাত্র প্রশাসক রুট।

প্রকৃতপক্ষে, যে সংস্থাগুলিতে অন্য কেউ আপনার জন্য আপনার কম্পিউটার পরিচালিত করে, আপনার নিজের কম্পিউটারের মূল পাসওয়ার্ড না জানা খুব সাধারণ - আপনি যতক্ষণ না sudoers ফাইলে থাকেন ততক্ষণ কোনও ব্যাপার নয়।

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


¹ আরও একটি জিনিস: আধুনিক ইউনিক্স সংস্করণগুলি এখন রুট ব্যবহারকারীরা কি করতে পারে তা সীমাবদ্ধ করতে পারে।

অধীনে SELinux- র (নিরাপত্তা লিনাক্স উন্নত), সেখানে কার্যকরভাবে এখানে একটি প্রবেশাধিকার নিয়ন্ত্রণ তালিকা যে নির্ধারণ কোন প্রোগ্রাম কি করতে পারি, এবং এমনকি রুট গত ঐ নিষেধাজ্ঞা পেতে পারে না।

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

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

Login "লগইন:" প্রম্পটটি ইউনিক্স ইতিহাসের আর একটি প্রত্নতাত্ত্বিক অংশ, যখন আমরা সকলেই উইন্ডো সিস্টেমের পরিবর্তে সিরিয়াল লাইনে এসকি টার্মিনাল ব্যবহার করি। আপনি loginযেকোন টার্মিনাল উইন্ডোতে কেবল টাইপ করে বা অন্য কোথাও আপনার কম্পিউটারে ssh (বা টেলনেট বা রশি) সংযোগ খোলার মাধ্যমে একটি "লগইন:" প্রম্পট পেতে পারেন । আপনি চাইলে সেখান থেকে অন্য একজন ব্যবহারকারী হিসাবে লগ ইন করতে পারেন। (এবং যদি আপনার কম্পিউটারে সিরিয়াল পোর্টগুলি ঘটে থাকে তবে আপনি সেগুলিতে লগইনগুলির অনুমতি দেওয়ার জন্য এটি কনফিগার করতে পারেন))

Individual পৃথক প্রোগ্রামগুলিকে রুট অ্যাক্সেস দেওয়াও সম্ভব। কোনও সাধারণ ব্যবহারকারী দ্বারা চালিত করার পরেও এই প্রোগ্রামগুলি রুট অ্যাক্সেস সহ ব্যবহারকারী যে কোনও কিছু করতে পারে। এগুলি সাধারণত নির্দিষ্ট কাজের মধ্যে সীমাবদ্ধ। উদাহরণস্বরূপ, ক্রোনট্যাব প্রোগ্রামের মূল অধিকার রয়েছে যাতে এটি ক্রোন সারণীগুলি সম্পাদনা করতে পারে। স্পষ্টতই, "sudo" এর মূল অধিকার রয়েছে যাতে এটি যা করতে পারে তা করতে পারে।

⁴ আমি আরও একটি বিষয় কভার করতে যাচ্ছি যা আমি আগে দেখেছি। আমি "অ্যাডমিনিস্ট্রেটর" এবং "রুট" বিনিময়যোগ্যভাবে ব্যবহার করছি, তবে অন্য ধরণের প্রশাসক রয়েছে। এগুলিকে প্রায়শই "রোল অ্যাকাউন্ট" বলা হয়, যার অর্থ এই যে অ্যাকাউন্টগুলি প্রকৃত মানুষের অন্তর্গত নয়, পরিবর্তে সিস্টেমে কিছু নির্দিষ্ট ভূমিকা পালন করার জন্য উপস্থিত রয়েছে। আপনি যদি /etc/passwdআপনার সিস্টেমে ফাইলটি একবার দেখুন , আপনি কয়েক ডজন এবং কয়েক ডজন অ্যাকাউন্ট পাবেন।

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

আপনার যদি ডাটাবেস প্রশাসনিক কাজগুলি সম্পাদন করার প্রয়োজন হয়, আপনি হয় su mysqlকমান্ডটি দিয়ে "mysql" হয়ে উঠবেন , বা sudosudoers ফাইল আপনাকে সেই নির্দিষ্ট কমান্ডের জন্য mysql সুবিধা দেবে use


1
Sudoers ফাইল হ'ল যা আপনাকে একাধিক প্রশাসক দেয় । কার্যকরভাবে, আপনার প্রশাসকরা মূল, এবং sudoers ফাইলে তালিকাভুক্ত প্রত্যেকে। সুডোর ফাইল ব্যতীত একমাত্র প্রশাসক রুট।
এডওয়ার্ড ফালক

1
"সেলিনাক্স (সুরক্ষা বর্ধিত লিনাক্স) এর অধীনে কার্যকরভাবে একটি অ্যাক্সেস কন্ট্রোল তালিকা রয়েছে যা নির্ধারণ করে যে কে কী করতে পারে এবং এমনকি রুটও এই বিধিনিষেধকে অতিক্রম করতে পারে না।" - এমনকি যদি রুটও এই বিধিনিষেধগুলি পাস করতে না পারে তবে প্রথমে কে এই বিধিনিষেধ তৈরি করে?
রাঞ্চো

1
এটি স্পষ্ট করার জন্য: "কার্যকরভাবে, আপনার প্রশাসকরা মূল, এবং sudoers ফাইলে তালিকাভুক্ত প্রত্যেকে" " sudoers এন্ট্রি সম্পূর্ণ রুট বা এমনকি মূল স্তরের অ্যাক্সেস মানে না; আমি সেনকে মনিজার হিসাবে চালিত একটি মনিটরিং এজেন্ট পুনরায় চালু করার ক্ষমতা দিতে পারি।
জেফ শ্যাচলার

1
The "sudo" command lets you execute commands with superuser privileges as long as your user id is in the sudoers file [..]। আমার মেশিনে (সোলাস ওএস 3), এটি ভুল। আমার ব্যবহারকারীর নাম sudoers ফাইলে নেই। এবং আমি এখনও করতে পারেন sudo
মার্টিন অ্যান্ডারসন

2
পুরানো উত্তর এবং এটি পেডেন্ট্রি, তবে suএটি "বিকল্প ব্যবহারকারী" এর সংক্ষিপ্তসার; sudoসুতরাং "বিকল্প ব্যবহারকারী করতে" হয়। আপনি suকেবলমাত্র নয়, অন্য ব্যবহারকারী হিসাবে লগ ইন করতে ব্যবহার করতে পারেন root। এবং আপনি sudoঅন্য ব্যবহারকারী হিসাবে কমান্ডগুলি কার্যকর করতে ব্যবহার করতে পারেন ।
জোসফাত্ত্ব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.