در این آموزش قصد داریم روش تغییر نام کاربری هاست در VPS با پنل دایرکتادمین را توضیح دهیم. این کار زمانی لازم است که بخواهید نام فعلی کاربر را به دلیل تغییر دامنه یا ساختار مدیریت سرور عوض کنید، بدون اینکه اطلاعات سایت از بین برود.
مرحله اول: ورود به مسیر کاربران دایرکتادمین
بعد از ورود به سرور از طریق SSH، باید وارد مسیر اصلی کاربران دایرکتادمین شوید. این مسیر در همه توزیعهای پرطرفدار لینوکس مانند اوبونتو، دبیان، سنتاواس و المالینوکس یکسان است و معمولاً در آدرس زیر قرار دارد:
cd /usr/local/directadmin/data/users
در این مسیر، هر کاربر (هاست) یک پوشه مخصوص دارد که نام آن همان نام کاربری است. برای اطمینان از وجود کاربر فعلی، دستور زیر را اجرا کنید تا فهرست تمام کاربران نمایش داده شود:
ls
اگر مثلاً خروجی شما شامل نامی مثل olduser باشد، یعنی همین نام کاربری فعلی هاست شماست که باید تغییرش دهید.
مرحله دوم: توقف موقت دایرکتادمین برای جلوگیری از خطا
قبل از هر تغییری باید پنل دایرکتادمین را موقتاً متوقف کنید تا در حین تغییر نام کاربری، سیستم در حال استفاده از اطلاعات کاربر نباشد. در غیر این صورت، احتمال دارد فایلها ناقص و دادهها خراب شوند. برای توقف سرویس، دستور زیر را وارد کنید:
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 را با نام جدید موردنظر جایگزین کنید.
توجه داشته باشید که نام جدید باید فقط از حروف کوچک انگلیسی تشکیل شده باشد و شامل فاصله یا کاراکتر خاص نباشد. اگر دستور بدون خطا اجرا شد، یعنی پوشه با موفقیت تغییر نام داده است.
مرحله چهارم: ویرایش فایلهای پیکربندی کاربر
دایرکتادمین اطلاعات مربوط به هر کاربر را داخل فایلهای متنی ذخیره میکند. بعد از تغییر نام پوشه، باید محتویات این فایلها را نیز بهروزرسانی کنید تا از بروز خطا جلوگیری شود.
ابتدا فایل اصلی تنظیمات کاربر را با دستور زیر باز کنید:
nano /usr/local/directadmin/data/users/newuser/user.conf
در این فایل، خطی با عنوان username= وجود دارد. مقدار روبهروی آن را از نام قدیمی به نام جدید تغییر دهید و فایل را ذخیره کنید.
همچنین اگر کاربر شما دامنهای دارد، وارد مسیر دامنهها شوید و فایل مربوط به هر دامنه را نیز بررسی کنید. برای مثال:
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
مرحله ششم: بررسی ارجاعات باقیمانده در سیستم
دایرکتادمین ممکن است در بعضی فایلهای پشتیبان یا تنظیمات کلی، همچنان نام کاربر قبلی را نگه داشته باشد. برای اطمینان، میتوانید با دستور جستجوی زیر همه مواردی را که شامل نام کاربر قدیمی هستند پیدا کنید:
grep -r olduser /usr/local/directadmin/data/
هر فایل را باز کرده و مقدار olduser را با newuser جایگزین کنید تا تمام ارجاعات اصلاح شود.
مرحله هفتم: راهاندازی مجدد دایرکتادمین و بررسی عملکرد
بعد از اینکه همه تغییرات انجام شد، باید سرویس دایرکتادمین را دوباره راهاندازی کنید تا تغییرات جدید در سیستم بارگذاری شوند. برای این کار دستور زیر را اجرا کنید:
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
با انجام دقیق مراحل بالا، نام کاربری هاست شما با موفقیت تغییر میکند و همه تنظیمات دایرکتادمین و فایلهای سیستمی با نام جدید هماهنگ خواهند شد.







