نحوه حذف و اضافه کاربران در سرور مجازی اوبونتو Ubuntu
۲۹ دی ۱۴۰۳
مقدمه
اضافه کردن و حذف کاربران در یک سرور مجازی لینوکسی، یکی از مهمترین وظایف مدیر سیستم است که باید با آن آشنا باشد. هنگامی که یک سرور مجازی جدید ایجاد میکنید، معمولاً بهصورت پیشفرض فقط به حساب کاربری root
دسترسی دارید.
اگرچه کار کردن بهعنوان کاربر root
به شما، امکان کنترل کامل بر روی سرور مجازی و کاربران آن را میدهد، اما این کار میتواند خطرناک و گاهی مخرب باشد. برای انجام وظایف مدیریتی رایج سرور مجازی، ایده بهتر آن است که یک کاربر غیر روت با دسترسیهای محدودتر (Unprivileged) ایجاد کنید و وظایف مدنظرتان را، بدون دسترسی root
انجام دهید. همچنین، میتوانید حسابهای غیر روت اضافی دیگری را برای سایر کاربرانی که ممکن است در سرور خود داشته باشید، ایجاد کنید. هر کاربر بهتر است که در سرور مجازی، حساب جداگانه و اختصاصی خود را داشته باشد.
برای وظایفی که به مجوزهای مدیر (Administrator Privileges) نیاز دارند، ابزاری به نام sudo
در سرورهای Ubuntu نصب شده است. به طور خلاصه، sudo
به شما اجازه میدهد که یک دستور مدیریتی را، بهعنوان کاربر دیگری غیر از root، که دسترسیهای مدیریتی نیز دارد، اجرا کنید. در این مقاله، یاد میگیرید که چگونه حسابهای کاربری مختلفی را، ایجاد کنید، مجوزهای sudo
را به کاربران، اختصاص دهید و کاربران را حذف کنید.
همچنین بخوانید: ۵۰ دستور برتر لینوکس Linux که باید بدانید
پیشنیازها
برای تکمیل این آموزش، به یک سرور (ترجیحاً سرور مجازی) با سیستمعامل Ubuntu (از نسخه ۲۰ به بعد)، نیاز دارید. اطمینان حاصل کنید که به سرور، دسترسی root
دارید و فایروال (Firewall) فعال است. در صورتی که اینچنین نیست؛ در ابتدا، آموزش نحوه راهاندازی اولیه سرور مجازی با Ubuntu را مطالعه کنید.
در ادامه، بخوانید:
- نحوه اضافه کردن یک کاربر جدید
- نحوه اعطای مجوزهای مدیریتی به یک کاربر
- نحوه بررسی مجوزهای مدیریتی یک کاربر
- نحوه حذف یک کاربر
- نتیجهگیری
نحوه اضافه کردن یک کاربر جدید
اگر بهعنوان کاربر root
وارد شدهاید، میتوانید در هر زمانی که خواستید، یک کاربر جدید با اجرای دستور زیر، ایجاد کنید:
adduser newuser
اگر بهعنوان یک کاربر غیر root
که مجوزهای sudo
دارد وارد شدهاید، میتوانید با دستور زیر یک کاربر جدید اضافه کنید:
sudo adduser newuser
در هر دو حالت، باید به یکسری سؤال، پاسخ دهید:
- تخصیص و تأیید یک رمز عبور برای کاربر جدید.
- وارد کردن اطلاعات اضافی درباره کاربر جدید (این بخش اختیاری است و در صورت عدم نیاز، میتوانید با فشردن کلید ENTER از آن عبور کنید.)
- در نهایت، از شما خواسته میشود که صحت اطلاعات واردشده را تأیید کنید. با فشردن کلید Y، ادامه دهید.
اکنون کاربر جدید آماده استفاده است و میتواند با رمز عبوری که برایش تعیین کردهاید، وارد سیستم شود. اگر نیاز دارید کاربر جدید شما مجوزهای مدیریتی داشته باشد، به بخش بعدی بروید.
نحوه اعطای مجوزهای مدیریتی به یک کاربر
اگر که میخواهید کاربر جدیدتان بتواند دستورات را با مجوزهای root
اجرا کند، باید به آن، دسترسی sudo
بدهید. بیایید دو روش را برای انجام این کار بررسی کنیم:
روش اول: اضافه کردن کاربر جدید به گروه Sudo
بهصورت پیشفرض، در سیستمهای Ubuntu ورژن ۲۰ به بعد، هر کاربری که در گروه sudo
قرار بگیرد، مجوزهای کامل sudo به او، اعطا میشود. میتوانید گروههایی که کاربر جدید در آنها عضو است را با دستور زیر مشاهده کنید:
groups newuser
خروجی دستور فوق، مشابه زیر است:
newuser : newuser
بهصورت پیشفرض، یک کاربر جدید، فقط در گروه خودش عضو است، با اجرای دستور adduser
، یک گروه همراه با پروفایل کاربر نیز، ایجاد میشود. یک کاربر و گروه مربوط به آن، نام یکسانی دارند. برای افزودن کاربر به گروه جدید، میتوانید از دستور usermod
استفاده کنید:
usermod -aG sudo newuser
گزینه -a
یا (append) باعث میشود که کاربر به گروه(های) مشخصشده اضافه شود بدون اینکه از گروههای دیگر حذف شود. فلگ -G
نیز، لیستی از گروههایی که کاربر باید به آنها اضافه شود را مشخص میکند. در دستور فوق، گروه sudo
تعیین شده است.
لطفاً توجه داشته باشید که دستور usermod
، خود، نیاز به مجوزهای sudo
دارد. در واقع، تنها در صورتی میتوانید کاربران را به گروه sudo
اضافه کنید که بهعنوان کاربر root
یا کاربر دیگری که قبلاً عضو گروه sudo
است وارد شده باشید. در حالت دوم، باید این دستور را با پیشوند sudo
اجرا کنید:
sudo usermod -aG sudo newuser
تعیین دقیق مجوزهای کاربر در /etc/sudoers
بهجای اضافه کردن کاربر به گروه sudo
، میتوانید از دستور visudo
استفاده کنید. این دستور، یک فایل پبکربندی به نام /etc/sudoers
را در ویرایشگر پیشفرض سیستم، باز میکند و به شما این امکان را میدهد که مجوزها را بهصورت جداگانه برای هر کاربر مشخص کنید.
استفاده از visudo
تنها روش توصیهشده برای اعمال تغییرات در فایل /etc/sudoers
است زیرا فایل را در برابر ویرایش همزمان (multiple simultaneous edits)، قفل میکند و درستی محتوا را قبل از ذخیرهسازی، بررسی میکند. این کار، از موقعیتهایی که در آن پیکربندی اشتباه باعث از دست رفتن دسترسی sudo
میشود، جلوگیری میکند.
اگر بهعنوان کاربر root
وارد شدهاید، دستور زیر را اجرا کنید:
visudo
اگر بهعنوان یک کاربر غیر root
با مجوزهای sudo
وارد شدهاید، همان دستور را با sudo
اجرا کنید:
sudo visudo
در نسخههای قدیمی Ubuntu، دستور visudo
، فایل /etc/sudoers
را در ویرایشگر vi
باز میکرد که ممکن بود کار با آن، برای کاربران مبتدی، گیجکننده باشد. بهصورت پیشفرض، در نسخههای جدید Ubuntu، دستور visudo
از ویرایشگر متنی nano
استفاده میکند که رابط آسانتری را فراهم میکند. در فایل /etc/sudoers
، با کلیدهای جهتدار (Arrow Keys)، مکاننما (cursor) را حرکت دهید و به دنبال خطی باشید که به این صورت است:
root ALL=(ALL:ALL) ALL
در پایین این خط، خط زیر را اضافه کنید. حتماً newuser
را به نام پروفایل کاربری که میخواهید به آن مجوزهای sudo
بدهید، تغییر دهید:
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL
یک خط جدید مانند خط فوق، برای هر کاربری که باید مجوزهای کامل sudo
داشته باشد اضافه کنید. هنگامی که کارتان تمام شد، فایل را با فشردن CTRL + X
، سپس Y
و در نهایت ENTER
(برای تأیید)، ذخیره کرده و آن را ببندید.
نحوه بررسی مجوزهای مدیریتی یک کاربر
اکنون کاربر جدید شما، میتواند دستورات را با مجوزهای مدیریتی اجرا کند. وقتی بهعنوان کاربر جدید وارد سرور مجازی خود، شوید، میتوانید دستورات مدنظرتان را بهعنوان یک کاربر معمولی و بدون هیچ پیشوند یا پسوندی، به شکل عادی اجرا کنید:
some_command
برای اجرای همان دستور با مجوزهای مدیریتی، کافی است قبل از دستور، sudo
را تایپ کنید:
sudo some_command
در این حالت، از شما خواسته میشود رمز عبور حساب کاربری معمولی که در آن قرار دارید را، وارد کنید.
نحوه حذف یک کاربر
در صورتی که دیگر نیازی به یک کاربر نداشته باشید، بهتر است حساب کاربری آن را حذف کنید. میتوانید با اجرای دستور زیر بهعنوان کاربر root
، تنها خود کاربر را حذف کنید، بدون اینکه فایلهای او حذف شوند:
deluser newuser
اگر بهعنوان یک کاربر غیر root
با مجوزهای sudo
وارد شدهاید، از دستور زیر استفاده کنید:
sudo deluser newuser
اگر بخواهید همراه با حذف کاربر، home directory او نیز حذف شود، میتوانید دستور زیر را بهعنوان کاربر root
اجرا کنید:
deluser --remove-home newuser
اگر بهعنوان یک کاربر غیر root
با مجوزهای sudo
وارد شدهاید، دستور زیر را با پیشوند sudo
اجرا کنید:
sudo deluser --remove-home newuser
اگر قبلاً برای کاربر حذفشده مجوزهای sudo
تنظیم کردهاید، بهتر است خط مربوط به آن را از فایل پیکربندی، حذف کنید:
visudo
یا اگر کاربر غیر root
با مجوزهای sudo
هستید، از دستور زیر، استفاده کنید:
sudo visudo
در فایل /etc/sudoers
، خط مربوط به کاربر حذفشده، را پاک کنید:
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # این خط را حذف کنید
این کار مانع از آن میشود که یک کاربر جدید با همان نام، بهصورت تصادفی، مجوزهای sudo
را دریافت کند.
نتیجهگیری
اکنون باید درک خوبی از نحوه افزودن و حذف کاربران در سرور مجازی Ubuntu خود داشته باشید. مدیریت مؤثر کاربران به شما این امکان را میدهد که کاربران را از یکدیگر تفکیک کرده و فقط دسترسیهایی را که برای انجام کارشان نیاز دارند به آنها بدهید.
در صورتی که نیاز به یک سرور مجازی لینوکس پرسرعت، با دسترسی آسان و اطمینان از زیر ساخت قوی دارید؛ پیشنهاد ما به شما، استفاده از سرور مجازی دائمی لیارا است. VPS لیارا، از جمله سرورهای مجازی ایرانی است که میتوانید برای توسعه پروژههای خود، از آن استفاده کنید.