تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

نحوه حذف و اضافه کاربران در سرور مجازی اوبونتو 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 لیارا، از جمله سرورهای مجازی ایرانی است که می‌توانید برای توسعه پروژه‌های خود، از آن استفاده کنید.

ســــــــــــــــــــــال‌هاست که هستیم

۶ سال در کنار شما تجربه جمع کردیم. تازه در ابتدای مسیر هستیم، مسیر ساخت آینده.

sixth

جمع‌مـــــــــــان، جمع است

بیش از ۴۰ هزار توسعه‌دهنده و صاحبان کسب و کار در جمع ما هستند. جای شما خالی‌ست...

usersnumberusers

خدمات رایگان لیارا

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

هاست رایگان برای دیتابیس‌هاست رایگان برای دیتابیس‌

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگانسرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماهارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید. (به‌همراه دسترسی SMTP)

هاست رایگان برای انواع وبسایتهاست رایگان برای انواع وبسایت

تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

همراه شما هستیم

در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
تلفن واحد فروش:
۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
call
تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)