مقدمه
افزودن و حذف کاربران در سیستمهای لینوکسی یکی از مهمترین وظایف مدیریت سرور است که هر مدیر سیستم باید بهخوبی با آن آشنا باشد. زمانی که یک سرور جدید راهاندازی میکنید، معمولاً فقط به حساب کاربری root دسترسی دارید.
اگرچه کار کردن با کاربر root کنترل کامل سیستم را در اختیار شما قرار میدهد، اما این کار بسیار خطرناک است و میتواند باعث بروز مشکلات جدی شود. برای انجام کارهای روزمره مدیریتی، بهترین روش این است که یک کاربر عادی (غیر root) ایجاد کرده و از طریق آن و با استفاده از sudo عملیات مدیریتی را انجام دهید.
هر کاربر در سیستم باید حساب کاربری جداگانه داشته باشد. این موضوع هم از نظر امنیتی اهمیت دارد و هم مدیریت دسترسیها را سادهتر میکند.
در اوبونتو ابزاری به نام sudo وجود دارد که به کاربران عادی اجازه میدهد دستورات را با سطح دسترسی مدیریتی اجرا کنند. در این آموزش از دیدگاه یاد میگیرید چگونه کاربران جدید ایجاد کنید، به آنها دسترسی sudo بدهید، کاربران را حذف کنید یا در صورت نیاز حساب آنها را موقتاً غیرفعال نمایید.
پیشنیازها
برای انجام این آموزش به موارد زیر نیاز دارید:
-
یک سرور با Ubuntu 24.04
-
دسترسی root یا کاربری که دسترسی sudo دارد
-
فعال بودن فایروال
نکته: آموزشهای اولیه راهاندازی سرور Ubuntu 20.04 تقریباً بهطور کامل برای Ubuntu 24.04 نیز قابل استفاده هستند.
افزودن کاربر جدید
اگر با کاربر root وارد سرور شدهاید، میتوانید با دستور زیر یک کاربر جدید ایجاد کنید:
adduser newuserاگر با یک کاربر عادی دارای دسترسی sudo وارد شدهاید:
sudo adduser newuserدر حین ایجاد کاربر، از شما اطلاعات زیر خواسته میشود:
-
تعیین و تأیید رمز عبور
-
وارد کردن اطلاعات تکمیلی (اختیاری)
-
تأیید نهایی اطلاعات با زدن کلید Y
پس از پایان این مراحل، کاربر جدید آماده استفاده خواهد بود.
اعطای دسترسی sudo به کاربر
برای اجرای دستورات مدیریتی، کاربر باید دسترسی sudo داشته باشد. این کار به دو روش انجام میشود.
روش اول: افزودن کاربر به گروه sudo
در اوبونتو، تمام کاربران عضو گروه sudo بهصورت پیشفرض دسترسی کامل مدیریتی دارند.
بررسی گروههای کاربر:
groups newuserافزودن کاربر به گروه sudo:
usermod -aG sudo newuserاگر کاربر فعلی root نیست:
sudo usermod -aG sudo newuserتوجه: تغییر گروهها بعد از خروج و ورود مجدد کاربر اعمال میشود.
روش دوم: تعیین دسترسی مستقیم در فایل sudoers
روش دیگر، ویرایش فایل پیکربندی sudo است. این کار باید فقط با دستور visudo انجام شود تا از بروز خطا جلوگیری گردد.
اگر root هستید:
visudoاگر کاربر sudo هستید:
sudo visudoدر فایل باز شده، زیر خط زیر:
root ALL=(ALL:ALL) ALLاین خط را اضافه کنید:
newuser ALL=(ALL:ALL) ALLسپس فایل را با CTRL + X، سپس Y و در نهایت ENTER ذخیره کنید.
تست دسترسی sudo
ورود به حساب کاربر جدید و اجرای دستور معمولی:
some_commandاجرای همان دستور با دسترسی مدیریتی:
sudo some_commandدر این حالت، رمز عبور همان کاربر پرسیده میشود.
حذف کاربر
حذف کاربر بدون حذف فایلهای خانگی:
deluser newuserیا:
sudo deluser newuserحذف کاربر به همراه پوشه home:
deluser --remove-home newuserیا:
sudo deluser --remove-home newuserحذف دسترسی sudo کاربر حذفشده
اگر قبلاً در فایل sudoers به کاربر دسترسی دادهاید، حتماً خط مربوطه را حذف کنید:
newuser ALL=(ALL:ALL) ALLاین کار از اعطای ناخواسته دسترسی sudo به کاربری با نام مشابه در آینده جلوگیری میکند.
حذف گروه کاربری بدون عضو
اگر گروهی فقط مخصوص یک کاربر بوده و اکنون بدون عضو است:
sudo delgroup groupnameقفل کردن کاربر بهجای حذف
در برخی شرایط بهتر است کاربر را موقتاً غیرفعال کنید.
قفل کردن رمز عبور
passwd -l usernameیا:
sudo passwd -l usernameبرای فعالسازی مجدد:
passwd -u usernameیا:
sudo passwd -u usernameغیرفعالسازی شل ورود (No Login)
تغییر شل کاربر به nologin:
sudo usermod -s /usr/sbin/nologin usernameبازگرداندن شل به حالت عادی:
sudo usermod -s /bin/bash usernameسوالات متداول
تفاوت adduser و useradd چیست؟
adduser یک اسکریپت ساده و تعاملی است که پوشه home، فایلهای پیشفرض و تنظیمات لازم را خودکار ایجاد میکند. در مقابل، useradd یک ابزار سطح پایینتر است که بیشتر در اسکریپتها استفاده میشود.
بهترین روش دادن sudo به کاربر چیست؟
افزودن کاربر به گروه sudo سادهترین و امنترین روش است.
آیا با حذف کاربر، فایلها هم حذف میشوند؟
خیر، مگر اینکه از گزینه --remove-home استفاده شود.
آیا امکان بازیابی کاربر حذفشده وجود دارد؟
بهصورت مستقیم خیر، اما اگر پوشه home حذف نشده باشد، میتوان کاربر را دوباره با همان نام و UID ایجاد کرد.
تهیه و بازنویسی اختصاصی توسط دیدگاه

