منو سایت

  • خانه
  • وبلاگ
  • آموزش محدود کردن دسترسی کاربر در اوبونتو

آموزش محدود کردن دسترسی کاربر در اوبونتو

 تاریخ انتشار :
/
  وبلاگ
آموزش محدود کردن دسترسی کاربر در اوبونتو

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

یکی از بخش های ضروری مدیریت سیستم، پیکربندی و مدیریت کاربرانی است که از آن استفاده می کنند. بخش مهمی از این کار همچنین شامل نظارت بر ورود کاربران است. در این مقاله وبلاگ پارس پک، روش های محدود کردن دسترسی کاربران در اوبونتو را با هم مرور می کنیم. این آموزش بر اساس توزیع اوبونتو 22.04 است. با این حال، می توانید از مفاهیم آن برای توزیع های دیگر نیز استفاده کنید.

نحوه محدود کردن دسترسی از طریق /etc/passwd

یکی از روش های رایج برای محدود کردن کاربران، تنظیم یک مقدار خاص برای پوسته ورود کاربر است. در زیر نحوه انجام این کار را برای کاربر Message Bus نشان داده ایم. توجه داشته باشید که در این مثال از grep برای جستجوی فایل /etc/passwd استفاده کردیم:

less /etc/passwd | grep messagebus

خروجی این دستور مشابه زیر است:

Output
messagebus:x:102:105::/nonexistent:/usr/sbin/nologin

مقدار نهایی پوسته یا دستوری است که پس از ورود موفقیت آمیز به سیستم بازگردانده می شود. در این مثال، این مقدار روی /usr/sbin/nologin تنظیم شده است.

اگر بخواهید با استفاده از دستور sudo su به کاربر گذرگاه پیام سوئیچ کنید، عملیات با شکست مواجه خواهد شد:

sudo su messagebus

نتیجه استفاده از این دستور به شرح زیر است:

Output
This account is currently not available.

این پیام به شما نشان داده می شود زیرا پوسته کاربر messagebus روی /usr/sbin/nologin تنظیم شده است.

اگر می خواهید پوسته پیش فرض ورود کاربر را تغییر دهید، می توانید از ابزار usermod استفاده کنید. بنابراین، استفاده از این ابزار به شما این امکان را می دهد که پوست کاربر را به nologin تغییر دهید و در نتیجه از ورود کاربر جلوگیری کنید:

sudo usermod -s /usr/sbin/nologin username

لیست کاربران اوبونتو

آموزش محدود کردن دسترسی کاربر در اوبونتو

نحوه محدود کردن دسترسی با استفاده از /etc/shadow

روش رایج دیگری که برای محدود کردن ورود کاربران استفاده می شود، فایل /etc/shadow است. این فایل حاوی مقادیر رمز عبور هش شده هر کاربر در سیستم است.

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

sudo less /etc/shadow

خروجی این دستور به صورت زیر است:

Output
. . .
uuidd:*:19105:0:99999:7:::
tcpdump:*:19105:0:99999:7:::
sshd:*:19105:0:99999:7:::
pollinate:*:19105:0:99999:7:::
landscape:*:19105:0:99999:7:::
lxd:!:19180::::::
sammy:$y$j9T$4gyOQ5ieEWdx1ZdggX3Nj1$AbEA9FsG03aTsQhl.ZVMXatwCAvnxFbE/GHUKpjf9u6:19276:0:99999:7:::

اگر به خروجی دقت کنید، می بینید که فیلد دوم در خط آخر حاوی متنی است که با $y$j9T$4gyO شروع می شود. این یک رمز عبور هش شده است.

حساب های کاربری سیستم نیز به جای مقدار رمز عبور هش شده دارای یک ستاره هستند

آنها دارند در واقع، این حساب ها رمز عبور ندارند. به همین دلیل امکان احراز هویت با استفاده از رمز عبور بدون تغییر آن وجود ندارد.

می توانید با قرار دادن علامت تعجب (!) قبل از مقدار رمز عبور هش شده، مقدار را ستاره دار کنید

sudo passwd -l sammy
sudo less /etc/shadow | grep sammy

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

Output
sammy:!$y$j9T$4gyOQ5ieEWdx1ZdggX3Nj1$AbEA9FsG03aTsQhl.ZVMXatwCAvnxFbE/GHUKpjf9u6:19276:0:99999:7::::::

دستور passwd را می توان با استفاده از پرچم -l قفل کرد و با استفاده از -u باز کرد:

sudo passwd -u sammy

نتیجه این کار به شرح زیر خواهد بود:

sudo usermod -L sammy
sudo usermod -U sammy

همانطور که در خروجی فرمان مشاهده می کنید، رمز عبور هش شده ذخیره می شود. اما درست قبل از گذاشتن علامت تعجب (!) آن را باطل می کند. همانطور که گفتیم، اعتبارسنجی حساب با استفاده از پرچم -u نیز امکان پذیر است:

همین کار را می توان با استفاده از دستور usermod انجام داد. پرچم هایی که برای قفل و باز کردن قفل حساب کاربری استفاده می شود به ترتیب -L و -U هستند:

آموزش بازیابی رمز عبور روت در اوبونتو از طریق ریکاوری را در مقاله زیر بخوانید.

بازیابی رمز عبور ریشه در اوبونتو

sudo touch /etc/nologin

نحوه محدود کردن دسترسی از طریق /etc/nologin

sudo sh -c 'echo "Planned maintenance. Log in capabilities will be restored at 1545 UTC" > /etc/nologin'

گاهی اوقات ممکن است لازم باشد دسترسی به همه کاربران به جز کاربر اصلی را محدود کنید. این به طور کلی می تواند در شرایط مختلف استفاده شود. به عنوان مثال، اگر یک یا چند حساب کاربری شما دارای مشکلات امنیتی باشد. می توانید این کار را با ایجاد یک فایل در /etc/nologin انجام دهید:

ssh [email protected]
Output
[email protected]'s password:
Planned maintenance. Log in capabilities will be restored at 1545 UTC

Connection closed by host

این دستور ورود به سیستم را برای کاربرانی که دسترسی superuser ندارند محدود می کند. در واقع آنچه پشت این دستور اتفاق می افتد این است که محتویات فایل به کاربر بازگردانده می شود. بنابراین می توانید یک پیام در این فایل برای نشان دادن کاربر قرار دهید:

sudo rm /etc/nologin

اکنون وقتی می خواهید با رمز عبور وارد شوید، این پیام را دریافت می کنید:

ناگفته نماند که در این شرایط، کاربر روت همچنان می تواند وارد سیستم شود. برای لغو محدودیت های اعمال شده، به سادگی /etc/nologin را حذف کنید. این کار را می توان با استفاده از دستور زیر انجام داد:

برای آشنایی با ویژگی های سیستم عامل اوبونتو و مقایسه آن با سایر توزیع های لینوکس، مقاله زیر را مطالعه کنید.

اوبونتو چیست؟

نتیجه

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

سوالات متداول

1. چگونه با استفاده از دستور usermod ورود کاربر را محدود کنیم؟

فرمت کلی استفاده از این دستور sudo usermod -s /usr/sbin/nologin نام کاربری است. البته به جای نام کاربری باید نام کاربری مورد نظر را قرار دهید.

2. دستور nologin در دستور usermod چه می کند؟

این گزینه برای محدود کردن دسترسی کاربران استفاده می شود.

3. آیا امکان محدود کردن دسترسی به همه کاربران به جز کاربر اصلی وجود دارد؟ [{
“@type”: “Question”,
“name”: “نحوه محدودسازی ورود کاربر با استفاده از دستور usermod چگونه است؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “فرمت کلی استفاده از این دستور به‌صورت sudo usermod -s /usr/sbin/nologin username است؛ البته نام کاربری مدنظر را باید به‌جای username قرار دهید.”
}
},{
“@type”: “Question”,
“name”: “عبارت nologin در دستور usermod چه کاری انجام می‌دهد؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “این آپشن به‌منظور ایجاد محدودیت در دسترسی کاربر استفاده می‌شود.”
}
},{
“@type”: “Question”,
“name”: “آیا می‌توان دسترسی همه کاربران به‌جز کاربر Root را محدود کرد؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “بله، این کار را از‌طریق فایل /etc/nologin می‌توان انجام داد.”
}
}]
بله، این کار از طریق فایل /etc/nologin قابل انجام است.

{ “@context”: “https://schema.org”، “@type”: “FAQPage”، “mainEntity”:

} مقاله نحوه محدود کردن ورود کاربران در اوبونتو ابتدا در پارسپک نوشته شد. به نظر می رسد.