1. مستندات
  2. سرور مجازی
  3. لینوکس
  4. پنل دایرکت ادمین
  5. تغییر username هاست در VPS با پنل دایرکت ادمین

تغییر username هاست در VPS با پنل دایرکت ادمین

Calendar

انتشار:

1404/08/21
Update Calendar

به روز رسانی:

1404/08/25

در این آموزش قصد داریم روش تغییر نام کاربری هاست در VPS با پنل دایرکت‌ادمین را توضیح دهیم. این کار زمانی لازم است که بخواهید نام فعلی کاربر را به دلیل تغییر دامنه یا ساختار مدیریت سرور عوض کنید، بدون اینکه اطلاعات سایت از بین برود.

مرحله اول: ورود به مسیر کاربران دایرکت‌ادمین

بعد از ورود به سرور از طریق SSH، باید وارد مسیر اصلی کاربران دایرکت‌ادمین شوید. این مسیر در همه توزیع‌های پرطرفدار لینوکس مانند اوبونتو، دبیان، سنت‌اواس و المالینوکس یکسان است و معمولاً در آدرس زیر قرار دارد:

cd /usr/local/directadmin/data/users

در این مسیر، هر کاربر (هاست) یک پوشه مخصوص دارد که نام آن همان نام کاربری است. برای اطمینان از وجود کاربر فعلی، دستور زیر را اجرا کنید تا فهرست تمام کاربران نمایش داده شود:

ls

اگر مثلاً خروجی شما شامل نامی مثل olduser باشد، یعنی همین نام کاربری فعلی هاست شماست که باید تغییرش دهید.

نمای مسیر users و نمایش لیست کاربران

مرحله دوم: توقف موقت دایرکت‌ادمین برای جلوگیری از خطا

قبل از هر تغییری باید پنل دایرکت‌ادمین را موقتاً متوقف کنید تا در حین تغییر نام کاربری، سیستم در حال استفاده از اطلاعات کاربر نباشد. در غیر این صورت، احتمال دارد فایل‌ها ناقص و داده‌ها خراب شوند. برای توقف سرویس، دستور زیر را وارد کنید:

systemctl stop directadmin

این دستور در تمام نسخه‌های لینوکس معتبر است. اگر با خطایی مواجه شدید، می‌توانید از دستور قدیمی‌تر زیر نیز استفاده کنید:

service directadmin stop

نمای توقف سرویس دایرکت‌ادمین

مرحله سوم: تغییر نام پوشه کاربر

در این مرحله میتوانید از دو روش استفاده کنید. روش اول استفاده از اسکریپت رسمی دایرکت‌ادمین و روش دوم تغییر نام به شکل دستی.

روش اول: تغییر نام‌کاربری با اسکریپت رسمی دایرکت‌ادمین (پیشنهادی)

دایرکت‌ادمین یک اسکریپت داخلی برای تغییر نام‌کاربری ارائه کرده که بیشتر تنظیمات لازم را به‌صورت خودکار انجام می‌دهد و کم‌خطرتر از روش‌های دستی است.

پس از ورود به SSH، تنها کافی است دستور زیر را اجرا کنید و به‌جای oldusername و newusername مقدارهای موردنظر خود را قرار دهید:

/usr/local/directadmin/scripts/change_username.sh oldusername newusername

این اسکریپت پوشه کاربر، فایل‌های پیکربندی، مالکیت‌ها، مسیرهای دایرکت‌ادمین و ارجاعات داخلی را به‌طور کامل به‌روزرسانی می‌کند. پس از پایان اجرا، کافی است سرویس دایرکت‌ادمین را راه‌اندازی کنید تا مقادیر جدید فعال شوند:

systemctl restart directadmin

دایرکت‌ادمین اعلام کرده که این اسکریپت هنوز در نسخه بتا است؛ بنابراین اگر ساختار سرویس‌ها پیچیده است یا می‌خواهید با کمترین ریسک کار را انجام دهید از روش دستی استفاده کنید.

روش دوم: تغییر نام‌کاربری به شکل دستی

در این روش باید باید نام پوشه مربوط به کاربر فعلی را تغییر دهید. هر پوشه در مسیر /usr/local/directadmin/data/users شامل تمام تنظیمات و اطلاعات مربوط به آن کاربر است. بنابراین با دستور زیر، نام کاربری را از مقدار فعلی به مقدار جدید تغییر دهید:

mv olduser newuser

در این دستور باید olduser را با نام فعلی کاربر و newuser را با نام جدید موردنظر جایگزین کنید.
توجه داشته باشید که نام جدید باید فقط از حروف کوچک انگلیسی تشکیل شده باشد و شامل فاصله یا کاراکتر خاص نباشد. اگر دستور بدون خطا اجرا شد، یعنی پوشه با موفقیت تغییر نام داده است.

نمای تغییر نام فولدر کاربر در مسیر users

مرحله چهارم: ویرایش فایل‌های پیکربندی کاربر

دایرکت‌ادمین اطلاعات مربوط به هر کاربر را داخل فایل‌های متنی ذخیره می‌کند. بعد از تغییر نام پوشه، باید محتویات این فایل‌ها را نیز به‌روزرسانی کنید تا از بروز خطا جلوگیری شود.

ابتدا فایل اصلی تنظیمات کاربر را با دستور زیر باز کنید:

nano /usr/local/directadmin/data/users/newuser/user.conf

در این فایل، خطی با عنوان username= وجود دارد. مقدار روبه‌روی آن را از نام قدیمی به نام جدید تغییر دهید و فایل را ذخیره کنید.

(ویرایش user.conf

همچنین اگر کاربر شما دامنه‌ای دارد، وارد مسیر دامنه‌ها شوید و فایل مربوط به هر دامنه را نیز بررسی کنید. برای مثال:

nano /usr/local/directadmin/data/users/newuser/domains/domain.com.conf

اگر در هر کدام از این فایل‌ها عبارت olduser دیده شد، آن را با newuser جایگزین کنید.

مرحله پنجم: هماهنگی سطح سیستم‌عامل و مجوز فایل‌ها

در مرحله قبل فقط تنظیمات نرم‌افزاری را تغییر دادید. حالا باید مالکیت و دسترسی فایل‌ها را نیز در سطح سیستم‌عامل تغییر دهید تا با نام جدید مطابقت پیدا کند.

دایرکت‌ادمین برای هر کاربر پوشه‌ای در مسیر /home/ دارد. پس اگر مسیر کاربر شما /home/olduser بوده است، باید آن را هم تغییر دهید و سپس مجوزهای مالکیت را اصلاح کنید:

mv /home/olduser /home/newuser
chown -R newuser:newuser /home/newuser

نمای تغییر مجوز فایل‌ها و مسیر home

مرحله ششم: بررسی ارجاعات باقی‌مانده در سیستم

دایرکت‌ادمین ممکن است در بعضی فایل‌های پشتیبان یا تنظیمات کلی، همچنان نام کاربر قبلی را نگه داشته باشد. برای اطمینان، می‌توانید با دستور جستجوی زیر همه مواردی را که شامل نام کاربر قدیمی هستند پیدا کنید:

grep -r olduser /usr/local/directadmin/data/

هر فایل را باز کرده و مقدار olduser را با newuser جایگزین کنید تا تمام ارجاعات اصلاح شود.

نمای خروجی دستور grep

مرحله هفتم: راه‌اندازی مجدد دایرکت‌ادمین و بررسی عملکرد

بعد از اینکه همه تغییرات انجام شد، باید سرویس دایرکت‌ادمین را دوباره راه‌اندازی کنید تا تغییرات جدید در سیستم بارگذاری شوند. برای این کار دستور زیر را اجرا کنید:

systemctl start directadmin

در برخی توزیع‌ها نیز می‌توانید از دستور زیر استفاده کنید:

service directadmin start

سپس وارد پنل دایرکت‌ادمین شوید و بررسی کنید که کاربر جدید در لیست کاربران نمایش داده شود و وب‌سایت‌ها بدون خطا کار کنند.

نمای ورود مجدد به پنل دایرکت‌ادمین

مرحله هشتم: پاک‌سازی فایل‌های قدیمی و بررسی نهایی

در پایان، بهتر است مطمئن شوید که هیچ اثری از نام کاربری قدیمی در مسیرهای داخلی باقی نمانده باشد. اگر مطمئن هستید که همه‌چیز درست کار می‌کند، پوشه‌ی باقی‌مانده کاربر قدیمی را حذف کنید:

rm -rf /usr/local/directadmin/data/users/olduser

نمای حذف پوشه کاربر قدیمی و بررسی فایل‌ها

نکته مهم

قبل از انجام مراحل بالا، حتماً از اطلاعات کاربر فعلی نسخه پشتیبان تهیه کنید تا در صورت بروز خطا بتوانید همه چیز را بازیابی کنید. برای بک‌آپ‌گیری از تنظیمات و داده‌ها، می‌توانید از دستور زیر استفاده کنید:

tar -czvf user-backup.tar.gz /usr/local/directadmin/data/users/olduser

با انجام دقیق مراحل بالا، نام کاربری هاست شما با موفقیت تغییر می‌کند و همه تنظیمات دایرکت‌ادمین و فایل‌های سیستمی با نام جدید هماهنگ خواهند شد.

آیا توانستیم چالش شما را حل کنیم؟