নির্বাহী সংক্ষিপ্তসার: "রুট" প্রশাসক অ্যাকাউন্টের আসল নাম। "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" হয়ে উঠবেন , বা sudo
sudoers ফাইল আপনাকে সেই নির্দিষ্ট কমান্ডের জন্য mysql সুবিধা দেবে use