reset root password

یکی از اتفاق های بدی که ممکن است برای ما رخ دهد این است که کلمه عبور یا پسورد یوزر root که همه کاره سیستم است را فراموش کنیم و نتوانیم لاگین کنیم .

در FreeBSD برای عوض کردن پسورد روت که فراموش شده است می توان از روش زیر استفاده کرد .

ابتدا سیستم خود را ریست کنید و در صفحه ای که انتخاب می کنید FreeBSD با چه حالتی بوت شود گزینه شماره چهار که گزینه  single user mode است را انتخاب می کنیم و نمی گذاریم که سیستم به حالت طبیعی بوت شود.

بعد از رفتم به حالت Single User Mode ما پیامی شبیه به زیر را می بینیم

Enter full pathname of shell or RETURN for /bin/sh:

در اینجا دکمه Enter کیبرد را می زنیم و وادر محیط متنی می شویم که می توانیم  دستور های خود را تایپ کنیم .

در این حالت پارتیشن root فقط به صورت خواندن مونت شده است و شما توانایی رایت بر روی این پارتیشن را ندارید و نمی توانید کاری را انجام دهید . برای اینکه بتوانید بر روی این پارتیشن  write کنید و یا به اصطلاح توانایی رایت را به دست آورید دستور زیر را در خط فرمان یا ترمینال وارد می کنید

mount -o rw /

بعد از تایپ این دستور پارتیشن روت که شما به آن احتیاج دارید به صورت read  و  write برای شما مونت می شود و شما الان کافی است برای تغییر کلمه عبور یوزر روت دستور زیر را در ترمینال تایپ کنید


passwd

بعد از تایپ دستور بالا از شما می خواهد که برای یوزر روت دوبار کلمه عبور تایپ کنید . حالا یوزر root کلمه عبور جدید دارد و شما می توانید از حالت  Single User Mode  با تایپ دستور زیر خارج شوید و به محیط اصلی بر گردید و از سیستم عامل پر قدرت FreeBSD استفاده کنید .

exit

بعد از تایپ دستور بالا سیستم ریست شده و به حالت اصلی خود بر می گردد. به همین راحتی پسورد روت عوض شد.

به نظر من عوض کردن پسورد روت به این راحتی در FreeBSD خیلی بد است . فرض کنید در جایی کار می کنید که تعداد زیادی همکار دارید و یکی بخواهد سر به سر شما گذاشته و یا از روی دشمنی پسورد روت را عوض کند . چه کار باید کرد . برای اینکه این اتفاق رخ ندهد و هر کسی به راحتی پسورد روت سیستم را عوض نکند به راه حل زیر می پردازیم .

ما در FreeBSD به حالت Single User Mode احتیاج داریم مثلا فیکس کردن یا رفع crash های سیستم و یا مونت پارتیشن های ZFS به آن احتیاج داریم . پس بهتر است که کاری کنیم وقتی سیستم می خواهد به حالت Single User Mode برود از ما کلمه عبور روت را بخواهد . در این صورت هیچ کسی نمی تواند به پارتیشن روت به صورت Write دسترسی داشته باشد .

برای اینکه در حالت Single User Mode  از ما پسورد برای اعمال تغییرات بخواهد کافی است فایل زیر را با استفاده از ویرایشگر محبوب  VI  باز کنیم

/etc/ttys

و دنبال عبارت زیر بگردیم

console        none                            unknown off secure

و آن را به صورت زیر تغییر دهیم

console        none                            unknown off insecure

حالا کافی است تغییرات در فایل مورد نظر ذخیره کنیم و سیستم را ریبوت نموده و به حالت Single User Mode برویم و ببینیم چه رخ می دهد دیده می شود که از پسورد می خواهد کافی است کلمه عبور روت را وارد کنیم و از حالت استفاده کنیم .

بعد از این تغییر باید هیچ وقت کلمه عبور root را فراموش نکنیم که دیگر به راحتی نمی توان آن را  باز یابی کرد . البته این راه حل فقط برای این بود که چه کار کنیم کسی به راحتی کلمه عبور یوزر root رای برای ما عوض نکند.