লিনাক্সে, রেগুলার ইউজার (regular users) এবং সুপারইউজার (superusers) পাসওয়ার্ড অথেন্টিকেশন (password authentication) দিয়ে সার্ভিস অ্যাক্সেস করে। যদি একজন রেগুলার ইউজার তার পাসওয়ার্ড ভুলে যায়, তবে একজন সুপারইউজার টার্মিনাল থেকে সরাসরি রেগুলার ইউজারের পাসওয়ার্ড রিসেট করতে পারে। কিন্তু যদি সুপারইউজার (অথবা রুট ইউজার) নিজের পাসওয়ার্ড হারায়? তাদের লগইন স্ক্রিনে বুট (boot) হওয়ার আগে হারানো পাসওয়ার্ড রিকভার (recover) করতে হবে। এটা যেকোনো ম্যালিশিয়াস (malicious) ব্যবহারকারীকে যার ফিজিক্যাল অ্যাক্সেস (physical access) আছে আপনার লিনাক্স হোস্টে, তাকে কমপ্লিট ओনারশিপ (complete ownership) দেয়। এই আর্টিকেলে লিনাক্সে হারানো রুট পাসওয়ার্ড রিকভার করার দুটি ভিন্ন পদ্ধতি দেখা হয়েছে।
নোট: রুট পাসওয়ার্ড রিসেট করার মেথড অধিকাংশ ডিস্ট্রোর জন্য সিমিলার। এখানে আমরা উবুন্টু (Ubuntu) ব্যবহার করে প্রক্রিয়াটি ডেমো করছি। আমরা টিউটোরিয়ালে সহজতর জন্য "রুট পাসওয়ার্ড" ব্যবহার করছি, কিন্তু এটাকে সুপারইউজার পাসওয়ার্ড হিসেবে ইন্টারচেঞ্জেবলি (interchangeably) ইন্টারপ্রেট (interpret) করা যাবে।
১. Grub মেনু থেকে লিনাক্স রুট পাসওয়ার্ড রিসেট করা
- সবচেয়ে প্রথমে, হারানো রুট পাসওয়ার্ড রিকভার করতে হলে লিনাক্স হোস্ট রিস্টার্ট (restart) করতে হবে, ধরে নিচ্ছি আপনি রুটের পাসওয়ার্ড ভুলে গেছেন।
- GRUB পেজ আসার সাথে সাথে দ্রুত "Advanced options for GNU/Linux" অপশনটি সিলেক্ট করুন ডাউন অ্যারো কী (down arrow key) এবং এন্টার (Enter) বাটন চাপায়।
- এখন e চাপুন কমান্ডগুলো এডিট (edit) করার জন্য।
আপনাকে এটি মডিফাই (modify) বা চেঞ্জ করতে হবে "read-only" মোড থেকে "read-write" মোডে। "Linux" দিয়ে শুরু হওয়া লাইনটি খুঁজুন। ro খুঁজে বের করুন এবং সেটাকে rw করে দিন। লাইনের শেষে init=/bin/bash যোগ করুন।
- F10 চাপুন। এটি একটি প্রম্পট (prompt) সহ একটি স্ক্রিন দেখাবে।
- আপনার রুট ফাইল সিস্টেমকে রিড-রাইট মোডে (read-write mode) মাউন্ট (mount) করুন:
mount -n -o remount,rw /
- এখন নিচের কমান্ড দিয়ে আপনার হারানো রুট পাসওয়ার্ড রিসেট করুন:
passwd root
- একবার হলে, লিখুন:
exec /sbin/init
এটি প্রম্পট থেকে এক্সিট (exit) করবে এবং কম্পিউটার রিবুট (reboot) করবে।
২. Live CD ব্যবহার করে হারানো রুট পাসওয়ার্ড রিসেট করা
আপনার কাছে যদি একটি লিনাক্স Live CD/USB থাকে, তবে আপনি সেটাতে বুট (boot) করে রুট পাসওয়ার্ড রিসেট করতে পারেন।
- উবুন্টুর লেটেস্ট ভার্সন ডাউনলোড করুন, এবং সেটা থেকে একটি বুটেবল (bootable) Live CD/USB বানান। আপনার সিস্টেমটি রিমুভেবল ড্রাইভ (removable drive) থেকে বুট করুন হার্ড ড্রাইভের বদলে।
- ডিসপ্লে স্ক্রিনে "Try Ubuntu" সিলেক্ট করুন। এটা আপনাকে Live CD ডেস্কটপে নিয়ে যাবে।
- টার্মিনাল খুলুন এবং রুট (root) হতে নিচের কমান্ড চালান:
sudo su
- নিচের কমান্ড দিয়ে হার্ড ডিস্ক পার্টিশনের লোকেশন (location) খুঁজুন:
fdisk -l
বেশিরভাগ কেসে এটি "/dev/sda1" হবে, যদিও এটি আপনার হার্ড ডিস্ক কীভাবে পার্টিশন করা আছে তার ওপর নির্ভর করে ভিন্ন হতে পারে।
- রিকভার (recover) করা সিস্টেমের হার্ড ডিস্ক পার্টিশনটি মাউন্ট (mount) করুন:
mkdir /mnt/recover mount /dev/sda1 /mnt/recover
- এই মুহূর্তে আমাদের নিজেদের "mnt/recover" ডিরেক্টরিতে জেইল (jail) করতে হবে। এর মানে আমরা আমাদের রেগুলার লিনাক্স ফাইলসিস্টেমে আছি এমন দাবি করছি। এটাকে সিম্পলি চরুটিং (chrooting) বলে।
chroot /mnt/recover
- নিচের কমান্ড দিয়ে আপনার লিনাক্স রুট পাসওয়ার্ড রিসেট করুন:
passwd root
- একবার কম্প্লিট হলে, চরুট শেল (chroot shell) থেকে এক্সিট (exit) করুন:
exit
- রুট পার্টিশন আনমাউন্ট (unmount) করুন:
umount /mnt/recover
এবং আপনার রুট থেকে এক্সিট করুন:
exit
- শেষে, Live CD রিমুভ করুন এবং আপনার লিনাক্স সিস্টেমে রিবুট (reboot) করুন।
লিনাক্সে রুট পাসওয়ার্ড চেঞ্জ করা সহজ একবার আপনি অতিরিক্ত স্টেপগুলো ওভারকাম (overcome) করলে। মনে রাখবেন যে যেকোনো যিনি আপনার কম্পিউটারে অ্যাক্সেস পাবে, সে এই মেথড ব্যবহার করে আপনার সুপারইউজার বা রুট পাসওয়ার্ড রিসেট করতে পারবে। আপনি যদি কাউকে এই প্রিভিলেজ (privileges) দেয়া নিয়ে আরও সতর্ক থাকতে চান, তবে আপনার হার্ড ডিস্ক এনক্রিপ্ট (encrypt) করুন যাতে এটি সহজে বুট বা মাউন্ট করা না যায়।
প্রশ্নোত্তর (FAQ)
১. ফুল ডিস্ক এনক্রিপশন (full disk encryption) আমার রুট পাসওয়ার্ড চেঞ্জ করার ক্ষমতাকে কীভাবে প্রভাবিত করে?
যদিও এনক্রিপশন (encryption) লিনাক্সে সমস্যা রিপেয়ার (repair) করার সময় জটিলতা সৃষ্টি করতে পারে, রুট পাসওয়ার্ড চেঞ্জ করার সময় এটি প্রযোজ্য নয়। আপনি এখনও GRUB থেকে সহজে এটি করতে পারবেন যেমন উপরে বর্ণনা করা হয়েছে, যতক্ষণ না আপনি ডিস্কে অ্যাক্সেস পান।
একমাত্র পার্থক্য এখন এটি যে বাহিরের লোকরা (outsiders) স্লাইড ইন (slide in) করে সেম কাজ করতে পারবেন না।
২. রুট (root) এবং সুপারইউজার (superuser) পাসওয়ার্ডের পার্থক্য কী?
বেশিরভাগ কেসে, রুট ইউজারই সুপারইজার। রুট পাসওয়ার্ড চেঞ্জ করলেই সুপারইউজার পাসওয়ার্ডও চেঞ্জ হবে। উবুন্টুতে, সুপারইউজার হলো যিনি User ID 0। আপনি যদি অন্য কোনো ইউজারকে UID 0 দিয়ে কনফিগার করে থাকেন, তবে এই কেসে রুট এবং সুপারইউজার পাসওয়ার্ড এক নয়।
৩. পাসওয়ার্ডের জন্য এক্সপায়ারেশন ডেট (expiration date) তৈরি করা যায় কি?
হ্যাঁ, পারবেন! -x ফ্ল্যাগ ব্যবহার করে আপনি একজন নির্দিষ্ট ব্যবহারকারীর পাসওয়ার্ডের লাইফস্প্যান (lifespan) সেট করতে পারেন। উদাহরণস্বরূপ, passwd -x 30 root টাইপ করলে রুট পাসওয়ার্ড শুধু ৩০ দিনের জন্য ভ্যালিড (valid) থাকবে। এক্সপায়ার (expire) হলে আপনাকে অবশ্যই পাসওয়ার্ড চেঞ্জ করতে হবে।
অতিরিক্তভাবে, আপনি -w ফ্ল্যাগ ব্যবহার করে অ্যাডভান্সড ওয়ার্নিং (advanced warning) জন্য দিনের সংখ্যা সেট করতে পারেন পাসওয়ার্ড চেঞ্জ করার দরকার সম্পর্কে। passwd -w 7 root টাইপ করলে আপনাকে রুট পাসওয়ার্ড চেঞ্জ করার ওয়ার্নিং ১ সপ্তাহ আগে (৭ দিন আগে) পাবেন যেটা আপনি আগে -x ফ্ল্যাগ দিয়ে সেট করেছিলেন।
লিনাক্সে আরও গভীরে যেতে চান? আমাদের লিনাক্সে ব্লুটুথ সেটআপ গাইড আছে। আপনি আমাদের নিজস্ব লিনাক্স ডিস্ট্রো বানানোর টুলস লিস্টও চেক আউট করতে পারেন!