১. ভূমিকা
উবুন্টুতে, কিছু সিস্টেম ব্যবস্থাপনা কাজের জন্য রুট অধিকার প্রয়োজন, যা সাধারণ ব্যবহারকারীদের জন্য উপলব্ধ নয়। রুট অ্যাকাউন্টটি সিস্টেমের “অ্যাডমিনিস্ট্রেটর অ্যাকাউন্ট” এর সমতুল্য এবং ব্যবহারকারীদের ফাইল সিস্টেম অপারেশন, প্যাকেজ ইনস্টলেশন এবং কনফিগারেশন পরিবর্তনের মতো গুরুত্বপূর্ণ কাজ সম্পাদন করতে দেয়। এই প্রবন্ধটি উবুন্টুতে রুট ব্যবহারকারী হিসেবে কীভাবে সুইচ করতে হয় এবং তা করার সময় বিবেচনা করার মূল বিষয়গুলি ব্যাখ্যা করে।
২. উবুন্টুতে রুট অধিকার এবং তাদের বৈশিষ্ট্য
উবুন্টুর নিরাপত্তা নীতি ডিফল্টভাবে রুট অ্যাকাউন্টটি নিষ্ক্রিয় করে রাখে যাতে অপ্রয়োজনীয় রুট ব্যবহারের সঙ্গে যুক্ত সিস্টেম ঝুঁকি কমে। এর পরিবর্তে, উবুন্টু “sudo” কমান্ডের মাধ্যমে সাধারণ ব্যবহারকারীদের অস্থায়ী রুট অধিকার প্রদান করে।
২.১ সাধারণ ব্যবহারকারী এবং রুট ব্যবহারকারীর পার্থক্য
সাধারণ ব্যবহারকারীরা কেবল তাদের ডিরেক্টরি এবং সীমিত সিস্টেম সেটিংসই অ্যাক্সেস করতে পারে, যেখানে রুট ব্যবহারকারীর সিস্টেমের উপর অপ্রতিবন্ধিত নিয়ন্ত্রণ থাকে। এই কারণে, সিস্টেম ফাইল এবং অনুমতি সংক্রান্ত কাজের জন্য রুট অধিকার প্রয়োজন। তবে, রুট অধিকার ভুলভাবে ব্যবহার করলে সিস্টেম অস্থিতিশীল হতে পারে, তাই সঠিক জ্ঞান থাকা অত্যন্ত গুরুত্বপূর্ণ।
২.২ sudo ব্যবহার করে অস্থায়ী রুট অধিকার
উবুন্টুতে, সরাসরি রুট অ্যাকাউন্টে সুইচ করার পরিবর্তে, প্রয়োজনের সময় অস্থায়ী রুট অধিকার পেতে sudo কমান্ড ব্যবহার করার পরামর্শ দেওয়া হয়। নিম্নলিখিত অংশগুলোতে এর ব্যবহার এবং সতর্কতা বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে।

৩. কীভাবে অস্থায়ীভাবে রুটে সুইচ করবেন
উবুন্টুতে রুট অধিকার প্রয়োজন হলে, পুরোপুরি রুট ব্যবহারকারী হিসেবে সুইচ করার পরিবর্তে নির্দিষ্ট কমান্ডগুলোর জন্যই রুট অ্যাক্সেস প্রদান করার পরামর্শ দেওয়া হয়। এই পদ্ধতি দুর্ঘটনাবশত অপারেশনের ঝুঁকি কমায়, কারণ কাজ শেষ হলে সিস্টেম স্বাভাবিক অধিকারে ফিরে যায়। নিচে, আমরা sudo কমান্ডের ধাপে ধাপে ব্যবহার ব্যাখ্যা করছি।
৩.১ sudo কমান্ডের মৌলিক ব্যবহার
“sudo” মানে “substitute user do”, যা ব্যবহারকারীদের অস্থায়ীভাবে তাদের অধিকার পরিবর্তন করতে দেয়। sudo ব্যবহার করে সাধারণ ব্যবহারকারীরাও নির্দিষ্ট কমান্ডগুলো রুট অধিকার দিয়ে চালাতে পারে। কমান্ডটি নিম্নরূপ ব্যবহার করা হয়:
$ sudo [command]
উদাহরণস্বরূপ, প্যাকেজ আপডেট করতে নিম্নলিখিত কমান্ডটি লিখুন:
$ sudo apt update
এই কমান্ডটি রুট অধিকার প্রয়োজন হওয়ায়, sudo ব্যবহার করে অস্থায়ীভাবে অধিকার বাড়িয়ে এটি চালানো যায়।
৩.২ sudo ব্যবহার করার সময় পাসওয়ার্ড ইনপুট
প্রথমবার sudo ব্যবহার করার সময়, আপনাকে বর্তমান ব্যবহারকারীর পাসওয়ার্ড দিতে বলা হবে। এটি নিশ্চিত করে যে sudo সবার জন্য স্বতঃস্ফূর্তভাবে প্রবেশযোগ্য নয়, ফলে নিরাপত্তা বৃদ্ধি পায়। প্রমাণীকরণ নির্দিষ্ট সময়ের জন্য বৈধ থাকে, তাই প্রতিটি কমান্ডের জন্য পাসওয়ার্ড পুনরায় দিতে হয় না।
৩.৩ sudo এর অস্থায়ী বৈধতা সময়সীমা
উবুন্টুতে sudo অধিকারগুলোর ডিফল্ট টাইমআউট সময় প্রায় ১৫ মিনিট। যদি দীর্ঘমেয়াদী রুট অ্যাক্সেস প্রয়োজন না হয়, তবে sudo -k কমান্ড চালিয়ে ম্যানুয়ালি অধিকার বাতিল করতে পারেন, যা সঙ্গে সঙ্গে প্রমাণীকরণ অবৈধ করে দেয় এবং পরবর্তী sudo ব্যবহারের জন্য আবার পাসওয়ার্ড প্রয়োজন হয়।
৪. কীভাবে রুট শেল-এ সুইচ করবেন
রুট শেলে সুইচ করলে ব্যবহারকারী রুট ব্যবহারকারী হিসেবে কাজ চালিয়ে যেতে পারে, যা একাধিক প্রশাসনিক কাজ সম্পাদনের জন্য উপযোগী। উবুন্টুতে, sudo -i অথবা sudo su কমান্ড ব্যবহার করে রুট শেলে সুইচ করা যায়। নিম্নলিখিত অংশগুলোতে প্রতিটি কমান্ডের ব্যবহার এবং বৈশিষ্ট্য ব্যাখ্যা করা হয়েছে।
৪.১ sudo -i ব্যবহার করে রুট শেলে সুইচ করা
sudo -i কমান্ডটি সম্পূর্ণভাবে ইনিশিয়ালাইজড পরিবেশসহ রুট শেলে সুইচ করে। এই কমান্ড ব্যবহার করার সময় রুট ব্যবহারকারীর প্রোফাইল লোড হয় এবং রুট-নির্দিষ্ট পরিবেশ ভেরিয়েবল প্রয়োগ হয়। নিম্নলিখিত কমান্ডটি চালান:
$ sudo -i
এই কমান্ডটি চালানোর পরে রুট পরিবেশ সম্পূর্ণভাবে উত্তরাধিকারসূত্রে পাওয়া যায়, ফলে রুট-সেট করা পরিবেশ ভেরিয়েবল এবং পাথগুলো তৎক্ষণাৎ ব্যবহার করা যায়। কাজ শেষ হলে, exit কমান্ড ব্যবহার করে আপনার সাধারণ ব্যবহারকারী অ্যাকাউন্টে ফিরে যান।
৪.২ sudo su ব্যবহার করে রুট শেলে সুইচ করা
sudo su কমান্ডটি sudo -i এর মতোই, তবে এর আচরণ কিছুটা ভিন্ন। এটি রুট শেলে পরিবর্তন করে, তবে লগইনের সময় লোড হওয়া পরিবেশ ভেরিয়েবলগুলি উত্তরাধিকারী নাও হতে পারে। এর অর্থ হল বর্তমান ব্যবহারকারীর পরিবেশ ভেরিয়েবলগুলি রুট অধিকার দিয়ে কাজ করার সময়ও বজায় থাকে।
$ sudo su
sudo su ব্যবহার করলে বিদ্যমান সেশন বজায় থাকে এবং রুট অধিকার প্রদান করে। এটি তখন উপকারী যখন আপনি তাজা রুট পরিবেশ উত্তরাধিকারী না করে প্রশাসনিক কাজ সম্পাদন করতে চান।
4.3 পরিবেশ ভেরিয়েবল উত্তরাধিকারী না করে সুইচ করা (su -)
যদি আপনি রুট হিসেবে কাজ করার সময় সাধারণ ব্যবহারকারীর পরিবেশ ভেরিয়েবল থেকে সম্পূর্ণভাবে আলাদা হতে চান, তবে su - কমান্ড ব্যবহার করার পরামর্শ দেওয়া হয়। এই কমান্ডটি রুট হিসেবে সম্পূর্ণ নতুন অবস্থায় লগইন করে, শুধুমাত্র ডিফল্ট রুট ব্যবহারকারীর পরিবেশ প্রয়োগ করে।
$ su -
5. su কমান্ড ব্যবহার করে রুটে সুইচ করা
আপনি আপনার বর্তমান ব্যবহারকারী অ্যাকাউন্ট থেকে su কমান্ড ব্যবহার করে রুট ব্যবহারকারী হিসেবে সুইচ করতে পারেন। এই পদ্ধতি অন্যান্য লিনাক্স ডিস্ট্রিবিউশনে সাধারণত ব্যবহৃত হয় এবং রুট পাসওয়ার্ড সেট করা থাকলে উপকারী। তবে, উবুন্টু ডিফল্টভাবে রুট পাসওয়ার্ড নিষ্ক্রিয় রাখে, তাই আপনাকে এটি ম্যানুয়ালি সক্রিয় করতে হতে পারে।
5.1 su কমান্ডের মৌলিক ব্যবহার
su কমান্ডটি ব্যবহারকারী পরিবর্তনের জন্য ব্যবহৃত হয়। অন্য কোনো ব্যবহারকারীতে সুইচ করতে চাইলে ব্যবহারকারীর নাম নির্দিষ্ট করুন। রুট ব্যবহারকারী হিসেবে সুইচ করতে নিম্নলিখিত কমান্ডটি লিখুন:
$ su
এই কমান্ডটি আপনাকে রুট পাসওয়ার্ড প্রবেশ করতে বলবে। সঠিক পাসওয়ার্ড প্রদান করলে শেল রুট ব্যবহারকারী হিসেবে পরিবর্তিত হবে। আপনার কাজ শেষ হলে exit কমান্ড ব্যবহার করে পূর্বের ব্যবহারকারী সেশনে ফিরে আসুন।
5.2 su এবং su – এর পার্থক্য
su - ব্যবহার করলে লক্ষ্য ব্যবহারকারীর সম্পূর্ণ পরিবেশ সেটিংসসহ একটি শেল শুরু হয়, ফলে আপনি সেই ব্যবহারকারী হিসেবে লগইন করেন। এটি তখন উপকারী যখন আপনি বর্তমান ব্যবহারকারীর সেটিংস উত্তরাধিকারী না করে একটি পরিষ্কার রুট পরিবেশ চান। ব্যবহার করার পদ্ধতি নিম্নরূপ:
$ su -
su এবং su - এর মূল পার্থক্য হল su বর্তমান ব্যবহারকারীর পরিবেশ ভেরিয়েবল বজায় রাখে, যেখানে su - রুট হিসেবে শুরুর থেকেই একটি নতুন শেল পরিবেশ লোড করে।
6. রুট অধিকার ব্যবহার করার সময় নিরাপত্তা বিবেচনা
রুট অধিকার সিস্টেমের উপর পূর্ণ নিয়ন্ত্রণ প্রদান করে, তবে অপব্যবহার বা অনিচ্ছাকৃত পরিবর্তন গুরুতর ঝুঁকি তৈরি করতে পারে। তাই উবুন্টু পরিচালনা করার সময় রুট অধিকার ব্যবহার করার সময় নিরাপত্তা ব্যবস্থা সর্বদা অগ্রাধিকার পাবে। নিচে কিছু মূল নিরাপত্তা বিবেচনা দেওয়া হল।
6.1 রুট অধিকার অপ্রয়োজনীয়ভাবে ব্যবহার না করা
রুট অধিকার শক্তিশালী অপারেশন সম্ভব করে, তাই রুট সেশনে কাজ করার সময় কমিয়ে আনা উত্তম। অস্থায়ী রুট অ্যাক্সেসের জন্য sudo কমান্ড ব্যবহার করা নিরাপদ এবং অনিচ্ছাকৃত মুছে ফেলা বা ভুল কনফিগারেশনের ঝুঁকি কমায়। যদি আপনি প্রায়ই রুট অ্যাক্সেসের প্রয়োজন অনুভব করেন, তবে পুরোপুরি রুট হিসেবে লগইন করার বদলে নির্দিষ্ট কমান্ডগুলোই রুট হিসেবে চালানোর কথা বিবেচনা করুন।
6.2 রুট সেশন থেকে সর্বদা লগ আউট করা
রুট শেল ব্যবহার শেষ হলে সর্বদা exit কমান্ড দিয়ে আপনার সাধারণ ব্যবহারকারী অ্যাকাউন্টে ফিরে আসুন। রুট সেশনে থাকা থাকলে রুট অধিকার দিয়ে অনিচ্ছাকৃত কাজ করার ঝুঁকি বাড়ে। ছোট কাজের জন্যও রুট থেকে লগ আউট করার অভ্যাস গড়ে তোলা নিরাপত্তা বাড়াতে সহায়ক।
6.3 sudoers ফাইল সঠিকভাবে কনফিগার করা
sudoers ফাইল নির্ধারণ করে কোন ব্যবহারকারীরা sudo কমান্ড চালাতে পারবে। visudo কমান্ড ব্যবহার করে এই ফাইলটি সম্পাদনা করে নির্দিষ্ট ব্যবহারকারীদের জন্য sudo অ্যাক্সেস সীমাবদ্ধ করা যায়। এতে সিস্টেমে অননুমোদিত ব্যবহারকারীর রুট অ্যাক্সেস পাওয়া রোধ করা যায়।
6.4 অডিট লগ ব্যবহার করা
উবুন্টু রুট অধিকার ব্যবহারের লগ রেকর্ড করে, যা প্রশাসকদেরকে কোন ব্যবহারকারী রুট-েভেল কমান্ড চালিয়েছে তা পর্যালোচনা করার সুযোগ দেয়। এটি বিশেষত বহু-ব্যবহারকারী পরিবেশে গুরুত্বপূর্ণ, যেখানে নিয়মিত নিরাপত্তা অডিট সিস্টেমের পরিবর্তন ট্র্যাক করতে এবং অননুমোদিত কার্যক্রম প্রতিরোধে সহায়তা করে।

7. সাধারণ ত্রুটি এবং তাদের সমাধান
উবুন্টুতে রুটে সুইচ করার সময় বা রুট প্রিভিলেজের সাথে কাজ করার সময়, আপনি কিছু সাধারণ ত্রুটির সম্মুখীন হতে পারেন। এই ত্রুটিগুলি এবং সেগুলি সমাধান করার উপায়গুলি বোঝা ট্রাবলশুটিংকে সহজতর করতে সাহায্য করতে পারে।
৭.১ “Permission Denied” ত্রুটি
যদি আপনি একজন সাধারণ ব্যবহারকারী হিসেবে রুট প্রিভিলেজ প্রয়োজনীয় একটি কমান্ড চালানোর চেষ্টা করেন, তাহলে আপনি Permission denied ত্রুটি দেখতে পারেন। এর অর্থ হলো আপনার প্রয়োজনীয় অনুমতি নেই। এটি সমাধান করার জন্য, sudo দিয়ে কমান্ডটি পুনরায় চালান:
$ sudo [command]
যদি আপনার রুট হিসেবে একাধিক কমান্ড চালানোর প্রয়োজন হয়, তাহলে পরিবর্তে একটি রুট শেলে সুইচ করার কথা বিবেচনা করুন।
৭.২ “User Is Not in the sudoers File” ত্রুটি
যদি একজন ব্যবহারকারী sudoers ফাইলে নিবন্ধিত না হয়, তাহলে তারা user is not in the sudoers file ত্রুটি দেখবে, যা sudo ব্যবহারকে বাধা দেয়। এটি ঠিক করার জন্য, একজন অ্যাডমিনিস্ট্রেটর হিসেবে লগ ইন করুন এবং visudo ব্যবহার করে sudoers ফাইল সম্পাদনা করুন। sudo অ্যাক্সেস প্রদান করার জন্য নিম্নলিখিত লাইন যোগ করুন:
username ALL=(ALL) NOPASSWD: ALL
৭.৩ sudo টাইমআউট সমস্যা
যদি sudo কমান্ড চালানোর সময় পাসওয়ার্ডের জন্য প্রম্পট না দেয়, তাহলে এটি সেশন টাইমআউটের কারণে হতে পারে। একবার প্রমাণীকরণের সময়কাল শেষ হলে, আপনাকে পাসওয়ার্ড পুনরায় প্রবেশ করতে হবে। শুধুমাত্র sudo কমান্ডটি পুনরায় চালান এবং আপনার পাসওয়ার্ড প্রবেশ করান।
৭.৪ রুট পাসওয়ার্ড নিষ্ক্রিয়
ডিফল্টভাবে, উবুন্টুতে রুট অ্যাকাউন্ট নিষ্ক্রিয়। যদি আপনি su কমান্ড ব্যবহার করে রুটে সুইচ করার চেষ্টা করেন, তাহলে আপনি “Authentication failure” ত্রুটির সম্মুখীন হতে পারেন। রুট অ্যাকাউন্ট সক্রিয় করার জন্য, নিম্নলিখিত কমান্ড দিয়ে পাসওয়ার্ড সেট করুন:
$ sudo passwd root
পাসওয়ার্ড সেট করার পর, রুট অ্যাকাউন্ট সক্রিয় এবং ব্যবহারযোগ্য হবে।
৮. উপসংহার
এই নিবন্ধটি উবুন্টুতে রুটে সুইচ করার বিভিন্ন পদ্ধতি কভার করেছে। যেহেতু রুট প্রিভিলেজ সম্পূর্ণ সিস্টেম অ্যাক্সেস প্রদান করে, সঠিকভাবে ব্যবহার করা সিস্টেমের নিরাপত্তা এবং স্থিতিশীলতা বজায় রাখার জন্য অত্যন্ত গুরুত্বপূর্ণ। নিম্নে মূল পয়েন্টগুলির সারাংশ দেওয়া হলো:
- রুট প্রিভিলেজের গুরুত্ব: গভীর সিস্টেম অ্যাডমিনিস্ট্রেশনের জন্য রুট অ্যাক্সেস অপরিহার্য।
- অস্থায়ী প্রিভিলেজের জন্য sudo ব্যবহার:
sudo [command]দিয়ে কমান্ড চালানো নিরাপত্তা ঝুঁকি কমায়। - রুট শেলে সুইচ করা:
sudo -iএবংsudo suএর মতো কমান্ড রুট শেল সেশন অনুমতি দেয়। - su এবং su – বোঝা:
suবনামsu -কখন ব্যবহার করবেন তা জানা গুরুত্বপূর্ণ। - নিরাপত্তা বিবেচনা: রুট ব্যবহার কমান এবং সর্বদা রুট সেশন থেকে লগ আউট করুন।
- সাধারণ ত্রুটি এবং সমাধান: sudo এবং রুট অ্যাক্সেস সমস্যাগুলি দক্ষতার সাথে ট্রাবলশুট করুন।



