مدیریت حسابهای کاربری در سرور مجازی لینوکس (VPS) از اصلیترین وظایف یک مدیر سیستم است. این قابلیت که امکان ایجاد حسابهای متعدد را فراهم میکند، اگرچه باعث سادهتر شدن کار تیمی میشود، اما میتواند در صورت عدم مدیریت صحیح، مخاطرات امنیتی جدی به همراه داشته باشد. یکی از اساسیترین اقداماتی که میتوانید برای حفاظت از دادهها و جلوگیری از دسترسیهای غیرمجاز انجام دهید، تغییر پسورد سرور مجازی لینوکس است. این اقدام ساده اما مؤثر میتواند از سوءاستفادههای احتمالی ناشی از دسترسی به اطلاعات قدیمی جلوگیری کند و امنیت سرور شما را ارتقا دهد. در این مطلب، روش تغییر پسورد سرور مجازی لینوکس از طریق ترمینال را به شما آموزش میدهیم. همچنین، نکاتی کلیدی در مدیریت و ایمنسازی رمزهای عبور حتی در سرور مجازی ارزان بررسی خواهیم کرد تا بتوانید امنیت سیستم خود را به بالاترین سطح برسانید.
پیشنیازها برای تغییر پسورد سرور مجازی لینوکس
برای تغییر رمز عبور حسابهای کاربری در سرور مجازی لینوکس، ابتدا لازم است ترمینال را باز کنید. نحوه دسترسی به ترمینال به نوع سیستمعامل شما بستگی دارد:
- در نسخه دسکتاپ لینوکس میتوانید با فشردن کلیدهای Ctrl + Alt + T ترمینال را باز کنید.
- در سرور مجازی لینوکس لازم است از طریق SSH به سرور متصل شوید. برای این کار میتوانید از ترمینال کامپیوتر خود یا ابزارهایی مانند PuTTY استفاده کنید.
در هر صورت، برای اتصال به سرور و استفاده از این ابزارها، از اطلاعات دسترسی موجود در بخش SSH Access در منوی نمای کلی VPS خود استفاده کنید. این پیشنیازها گام اول برای تغییر موفقیتآمیز رمز عبور کاربران در لینوکس هستند.
تغییر پسورد سرور مجازی لینوکس
برای تغییر پسورد سرور مجازی لینوکس از رمز فعلی حساب خود به یک رمز جدید، مراحل زیر را دنبال کنید:
برای تغییر رمز عبور حساب کاربری فعلی خود در لینوکس، دستور زیر را اجرا کنید:
passwd
ترمینال از شما میخواهد که رمز عبور قدیمی خود را وارد کنید تا درخواست شما تأیید شود. پس از تأیید اعتبار، از شما خواسته میشود رمز عبور جدید را وارد کنید.
پس از وارد کردن رمز عبور جدید دوبار، اگر تغییر با موفقیت انجام شود، ترمینال پیام «Password updated successfully» (رمز عبور با موفقیت بهروزرسانی شد) را نمایش میدهد. در غیر این صورت، یک پیام خطا نشان داده میشود که مشکل را توضیح میدهد.
نحوه تغییر رمز عبور کاربران دیگر بهعنوان کاربر روت
در لینوکس، کاربر روت بالاترین سطح دسترسی را دارد و میتواند تنظیمات هر حساب کاربری، از جمله رمز عبور را تغییر دهد. برای انجام این کار، مراحل زیر را دنبال کنید:
برای این کار ابتدا با دستور زیر به حساب ریشه وارد شوید:
su root
پس از وارد کردن رمز عبور ریشه، دستور passwd را به همراه نام کاربری مورد نظر استفاده کنید. بهعنوان مثال:
passwd username
برای نمونه، اگر میخواهید رمز عبور کاربر JohnDoe را تغییر دهید، از این دستور استفاده کنید:
passwd JohnDoe
چون شما بهعنوان root وارد شدهاید، نیازی به وارد کردن رمز عبور حساب کاربری مورد نظر نخواهید داشت. در صورت موفقیتآمیز بودن فرآیند، ترمینال پیام تأیید را نمایش خواهد داد.
توجه: علاوه بر کاربر root، میتوانید با استفاده از حساب کاربری دیگری که دسترسی superuser دارد، رمزهای عبور را تغییر دهید.
برای این کار کافیست دستور را با پیشوند sudo اجرا کنید:
sudo passwd JohnDoe
نکته مهم: بهعنوان کاربر superuser، شما همچنین میتوانید رمز عبور root را تغییر دهید. بنابراین، اطمینان حاصل کنید که کاربران دارای sudo را بهخوبی مدیریت میکنید تا دسترسیهای مدیریتی محدود و امنیت سیستم بهینه حفظ شود.
نحوه بازنشانی رمز عبور فراموششده با استفاده از روت (root)
برای بازنشانی رمز عبور فراموششده در لینوکس، میتوانید از کاربر ریشه (root) یا یک حساب کاربری دارای دسترسی superuser استفاده کنید. البته، اگر سیستم شما از پروتکل LDAP استفاده میکند، این روش ممکن است کار نکند؛ چرا که نیاز به تأیید رمز عبور قدیمی دارد.
ویرایش مستقیم رمز عبور در /etc/shadow
در صورتی که روش معمول کارساز نباشد، میتوانید رمز عبور کاربر را مستقیماً در فایل /etc/shadow ویرایش کنید. این فایل شامل اطلاعات رمزهای عبور رمزنگاریشده تمام حسابهای کاربری سیستم است.
مراحل زیر را دنبال کنید:
فایل /etc/shadow را باز کنید:
nano /etc/shadow
مشاهده رمزهای عبور رمزنگاریشده
بعد از نام کاربری و دو نقطه ::، رمز عبور رمزنگاریشده نمایش داده میشود. بهدنبال حسابی بگردید که رمز عبور آن را به خاطر دارید.
کپی کردن رمز عبور رمزنگاریشده
رمز عبور رمزنگاریشده را با استفاده از کلیدهای Shift + کلیدهای جهتنما انتخاب کنید.
برای کپی کردن، Alt + 6 را فشار دهید.
حذف رمز عبور قدیمی حساب مورد نظر
با استفاده از کلیدهای جهتنما به حساب کاربری که رمز عبور آن را میخواهید تغییر دهید بروید.
رمز عبور رمزنگاریشده فعلی را انتخاب و با زدن Delete آن را حذف کنید.
جای گذاری رمز عبور کپیشده
برای جایگذاری رمز عبور کپیشده، Ctrl + U را فشار دهید.
ذخیره تغییرات
برای ذخیره فایل و خروج از ویرایشگر، کلیدهای زیر را فشار دهید:
Ctrl + X → سپس Y → و در نهایت Enter.
تغییر رمز عبور
پس از بازگشت به پوسته (shell)، دستور زیر را برای تغییر رمز عبور کاربر مورد نظر اجرا کنید:
passwd username
بهجای username، نام کاربری مورد نظر را وارد کنید.
تأیید و تغییر رمز
از شما خواسته میشود رمز عبور موقت (کپیشده) را وارد کنید. سپس میتوانید رمز عبور جدید را تنظیم کنید.
نکته: اگر در طول مراحل با مشکل مجوز (permission) مواجه شدید، مطمئن شوید که بهعنوان root وارد شدهاید. در صورتی که از حساب superuser استفاده میکنید، پیشوند sudo را به دستورات خود اضافه کنید.
تغییر پسورد سرور مجازی لینوکس برای کاربر روت
اگر رمز عبور روت خود را فراموش کردهاید، میتوانید از دو روش کارآمد GRUB یا Live CD/USB استفاده کنید. در ادامه هر روش را به طور گام به گام توضیح میدهیم:
دسترسی به منوی GRUB
کامپیوتر خود را ریاستارت کنید. موقع شروع فرایند بوت، کلید Shift یا در بعضی از سیستمها کلید Esc را نگه دارید تا منوی GRUB ظاهر شود.
ویرایش گزینههای بوت
با کلیدهای جهت، گزینه بوت پیشفرض (معمولاً اولین گزینه) را انتخاب کنید و کلید E را فشار دهید تا وارد حالت ویرایش شوید.
تغییر پارامترهای بوت
در خطی که با linux یا linux16 شروع میشود، مقدار ro quiet را پیدا کرده و ro را به raw تغییر دهید. سپس عبارت single یا init=/bin/bash را به انتهای خط اضافه کنید. برای بوت شدن با تنظیمات جدید، کلیدهای Ctrl + X یا F10 را فشار دهید.
فعال کردن دسترسی نوشتن به فایلسیستم
اگر فایلسیستم در حالت فقط خواندنی است، دستور زیر را وارد کنید تا دسترسی نوشتن فعال شود:
mount -n -o remount,rw /
تغییر رمز عبور
دستور زیر را اجرا کنید و به جای username نام کاربری مورد نظر یا root را وارد کنید:
passwd username
رمز عبور جدید را دو بار وارد کنید تا تایید شود.
ریاستارت سیستم
ابتدا تغییرات را با کمک دستور زیر ذخیره کنید:
Sync
سپس سیستم را با کد زیر ریاستارت کنید:
reboot -f
اکنون میتوانید با رمز عبور جدید وارد سیستم شوید.
تغییر پسورد در سرور مجازی لینوکس با استفاده از Live CD/USB (روت)
بوت از Live CD/USB
یک دیسک یا فلش حاوی سیستم عامل لینوکس زنده را وارد کنید. سیستم را ریاستارت کرده و از طریق منوی BIOS/UEFI گزینه بوت از CD/USB را انتخاب کنید.
باز کردن ترمینال
پس از بارگذاری محیط لینوکس زنده، یک ترمینال باز کنید.
شناسایی پارتیشن ریشه
با یکی از دستورات زیر پارتیشن ریشه سیستم خود را پیدا کنید:
sudo fdisk -l یا sudo lsblk -f
به دنبال پارتیشنی باشید که سیستم فایل آن مانند ext4 یا xfs باشد.
اتصال پارتیشن ریشه
ابتدا با کد زیر یک نقطه اتصال ایجاد کنید:
sudo mkdir /mnt/myroot
سپس پارتیشن شناساییشده را متصل کنید. یعنی با کمک کد زیر به جای /dev/sdXY پارتیشن خود را وارد کنید.
sudo mount /dev/sdXY /mnt/myroot
ورود به محیط chroot
با دستور زیر وارد محیط سیستم خود شوید:
sudo chroot /mnt/myroot
تغییر رمز عبور
دستور زیر را اجرا کنید و به جای username نام کاربری یا root را وارد کنید:
passwd username
رمز عبور جدید را وارد کرده و تأیید کنید.
خروج و جداسازی پارتیشن
ابتدا با کد زیر از محیط chroot خارج شوید:
Exit
سپس پارتیشن را با کد زیر جداسازی کنید:
sudo umount /mnt/myroot
ریاستارت سیستم
CD/USB را خارج کرده و سیستم را ریاستارت کنید. اکنون میتوانید با رمز عبور جدید وارد شوید.
هر دو روش تغییر رمز سرور مجازی لینوکس بسته به شرایط شما کاربردی هستند. روش GRUB سریعتر است و نیازی به ابزارهای اضافی ندارد، اما روش Live CD/USB در مواقعی که GRUB قابل دسترسی نیست یا نیاز به تنظیمات پیچیدهتر دارید، گزینه بهتری است.
بهترین روشهای مدیریت رمز عبور در لینوکس
در این بخش، برای بهبود امنیت رمز عبور سیستم لینوکس نکات مهمی را بررسی میکنیم:
استفاده از رمزهای عبور قوی
یک رمز عبور قوی امنیت سیستم شما را به طور قابل توجهی افزایش میدهد. رمز عبور 11 کاراکتری ساده در چند دقیقه قابل شکستن است، اما رمزهایی با حروف و نمادها ممکن است سالها طول بکشد تا شکسته شوند. برای داشتن یک رمز عبور قوی نکات زیر را مد نظر داشته باشید:
- از نمادها و اعداد استفاده کنید: افزودن کاراکترهای اضافی باعث افزایش ترکیبهای ممکن رمز عبور و سختتر شدن حدس زدن آن میشود.
- رمز عبور را طولانیتر کنید: رمز عبور شما بهتر است حداقل 12 کاراکتر یا بیشتر باشد.
- همیشه از رمز عبور یکتا استفاده کنید: استفاده از رمز عبور مشترک خطر دسترسی غیرمجاز به حسابهای مختلف را افزایش میدهد.
- از عبارات عبور استفاده کنید: ترکیبی از کلمات که به یاد ماندنی هستند اما حدس زدن آنها سخت است. مانند: ILikeLinuxForThePenguin
- از نرمافزار مدیریت رمز عبور استفاده کنید: ابزارهایی مانند NerdPass رمزهای عبور تصادفی را تولید و در محلی رمزگذاری شده ذخیره میکنند.
در زمان ساخت رمز قوی برای پسورد مجازی لینوکس، طول رمز عبور نسبت به پیچیدگی آن اهمیت بیشتری دارد.
ایجاد سیاست امنیتی برای رمز عبور سرور مجازی لینوکس
لینوکس به طور پیشفرض الزامی برای رمز عبور ندارد، که ممکن است باعث انتخاب رمزهای ضعیف شود. برای کاهش خطرات امنیتی، یک سیاست برای رمز عبورها در سیستم خود اجرا کنید.
برای انجام این کار، ماژول libpam-pwquality را طبق مراحل زیر به فایل common-password اضافه کنید:
بهروزرسانی مخزن سیستم با کد:
sudo apt update
نصب ماژول libpam-pwquality با کد:
sudo apt install libpam-pwquality
باز کردن فایل common-password با کد:
sudo nano /etc/pam.d/common-password
برای اضافه کردن تنظیمات سیاست رمز عبور کد زیر را به بالای فایل اضافه کنید:
password requisite pam_pwquality.so minlen=12 ucredit=1 lcredit=1 ocredit=1 minclass=3
برای غیرفعال کردن تنظیمات دیگر، در ابتدای خطوط دیگر، نماد # اضافه کنید.
در نهایت برای ذخیره تغییرات کلیدهای Ctrl + X، سپس Y و در نهایت Enter را فشار دهید.
برای اطمینان از عملکرد سیاست، رمز عبور یک کاربر را تغییر دهید. اگر رمز جدید با تنظیمات مطابقت نداشته باشد، ترمینال پیام خطایی نمایش میدهد.
تعریف تنظیمات سیاست رمز عبور در لینوکس
این تنظیمات مشخص میکنند که یک رمز عبور باید چه معیارهایی داشته باشد تا به عنوان یک رمز قوی و قابل قبول در سیستم پذیرفته شود. هر کدام از این پارامترها جزئیاتی درباره ویژگیهای رمز عبور ارائه میدهند:
Minlen (حداقل طول رمز عبور)
این مقدار مشخص میکند که رمز عبور حداقل باید چند کاراکتر داشته باشد. مثلاً اگر مقدار آن 12 باشد، رمز عبور کوتاهتر از 12 کاراکتر پذیرفته نمیشود.
Ucredit (حداقل تعداد حروف بزرگ)
این پارامتر تعداد حروف بزرگ را مشخص میکند که رمز عبور باید شامل آن باشد. مقدار مثبت نشاندهنده تعداد حروف مورد نیاز است.
lcredit (حداقل تعداد حروف کوچک)
کاملاً شبیه به ucredit است، اما تعداد حروف کوچک موردنیاز را مشخص میکند.
ocredit (حداقل تعداد کاراکترهای خاص)
این پارامتر تعداد کاراکترهای خاص (مانند !، @، #) را تعیین میکند که رمز عبور باید شامل آن باشد.
minclass (حداقل تعداد دستههای کاراکتر)
این تنظیم مشخص میکند که رمز عبور باید از چند نوع کاراکتر مختلف تشکیل شود (مانند حروف بزرگ، حروف کوچک، اعداد و کاراکترهای خاص).
بررسی کاربران و رمزهای عبور
فایل /etc/shadow اطلاعات تمامی کاربران و وضعیت رمز عبور آنها را نگه میدارد. این فایل شامل تاریخ آخرین تغییر رمز عبور و تاریخ انقضا است.
به صورت دورهای این فایل را بررسی کنید تا مطمئن شوید کاربران بهطور منظم رمز عبور خود را تغییر میدهند. همچنین، وجود حسابهای غیرمجاز را شناسایی کنید. برای سادهتر شدن این فرآیند طبق روش زیر عمل کنید:
فایل/etc/shadow را در زمان مشخصی پشتیبانگیری کنید.
تفاوتهای رمز عبور را با استفاده از دستور diff بررسی کنید:
sudo diff /etc/shadow_old /etc/shadow
از cron job برای خودکارسازی پشتیبانگیری استفاده کنید.
بررسی تلاشهای ناموفق ورود به لینوکس
برای بررسی این تلاشها، محتوای فایل auth.log را با کمک دستور زیر چاپ کنید:
sudo cat /var/log/auth.log
برای فیلتر کردن نتایج خاص، از دستور grep استفاده کنید:
sudo cat /var/log/auth.log | grep "could not identify password"
تنظیم تاریخ انقضای رمز عبور سرور مجازی لینوکس
برای حفظ امنیت سیستم، تغییر دورهای رمز عبور سرور مجازی لینوکس ضروری است. میتوانید با استفاده از دستور chage یا passwd –expire رمز عبور را منقضی کنید:
برای مشاهده تنظیمات فعلی حساب کاربری از کد زیر کمک بگیرید:
sudo chage -l username
برای تنظیم تاریخ انقضا:
sudo chage -E YYYY-MM-DD username
برای تعیین حداکثر فاصله بین تغییر رمز عبور (مثلاً 90 روز):
sudo chage -M 90 username
برای منقضی کردن فوری رمز عبور:
sudo chage -M 0 username
با این تنظیمات که اعمال کردید، کاربر در ورود بعدی پیام انقضای رمز عبور را مشاهده کرده و مجبور به تنظیم رمز جدید خواهد شد.
نتیجهگیری
تغییر پسورد در سرور مجازی لینوکس، راهکاری ساده اما بسیار موثر برای کاهش ریسکهای امنیتی است. شما میتوانید با استفاده از دستور passwd و ورود به سیستم از طریق ترمینال یا SSH، رمز عبور جدید تنظیم کنید و امنیت حساب خود را افزایش دهید.
برای تغییر رمز عبور کاربران دیگر یا بازنشانی رمزهای فراموششده، دسترسی به حساب روت یا سوپر یوزر کافی است. همچنین، با تعریف سیاستهای امنیتی در فایل common-password و بررسی دورهای فایل /etc/shadow، میتوانید مطمئن شوید که رمزهای عبور تمام کاربران بهروز و ایمن هستند.