به عنوان مدیر یک سرور لینوکس، شما بنا به شرایط خاصی و به ناچار باید نگهداری های سیستمی برنامه ریزی شده ای را انجام دهید. در بعضی مواقع نیز ممکن است سیستم تان با یکسری مشکلات مواجه شود و شما مجبور شوید برای حل مشکل یا مشکلات آن را از شبکه خارج و خاموش کنید. وضعیت هر چه که باشد، بهترین ایده، جلوگیری از اتصال یوزرهای معمولی (یوزرهایی که root نیستند) به سیستم میباشد.
همچنین توصیه میشود مطالعه کنید :
نحوه فعال یا غیرفعال کردن لاگین SSH یوزر root و محدود کردن دسترسی SSH
11 روش برای پیدا کردن اطلاعات Account و جزئیات Login کاربران در لینوکس
دستور who برای مشاهده کاربران لاگین شده به سرور لینوکس
whowatch برای مانیتور کردن کاربران و process ها به صورت لحظه ای
در این مقاله، ما میخواهیم نحوه مسدود کردن یوزرهای معمولی login شده در لینوکس (یوزرهایی که root نیستند)، با استفاده از فایل /etc/nologin و همچنین شل nologin را در لینوکس را شرح دهیم. در اینجا ما درباره ی نحوه تنظیم کردن یک پیغام (message) برای کاربران که به آنها شرح دهد چه اتفاقی رخ داده است، نیز صحبت خواهیم کرد.
نحوه بستن کاربران لاگین در سیستم با استفاده از فایل /etc/nologin
عملکرد اصلی فایل /etc/nologin برای نمایش یک پیغام (که در این فایل ذخیره شده) برای کاربرانی می باشد که در حال تلاش برای لاگین در سیستم در طول فرآیند خاموش شدن هستند.
زمانیکه پیغام به User نمایش داده میشود، کاربر قادر به لاگین نخواهد بود و از ورود یوزرها به سیستم جلوگیری می شود.
شما میتواند برای بستن Login کاربر، فایلی همانند زیر به صورت دستی ایجاد کنید.
پیغام زیر را به فایل اضافه کنید که به هر کاربری که قصد ورود به سیستم را داشته باشد، نمایش داده میشود.
اکنون شما میتوانید صحت آن را تست کنید، همچنین شما میتوانید از طریق تصویر زیر مشاهده کنید، یوزر معمولی linuxzone قادر به login کردن به سیستم نمیباشد.
نحوه مسدود کردن لاگین کاربر با استفاده از شل nologin
این روش با کمی تفاوت کار میکند و تنها دسترسی یک کاربر را به یک shell میبندد. اما کاربر مورد نظر میتواند ازطریق نرم افزارهایی که لزوما برای وصل شدن به سیستم نیازی به شل ندارد، همانند ftp به سیستم Login کند.
علاوه براین، در این روش اجازه دارید که دسترسی شل را برای کاربران خاص در سناریوهای خاص محدود کنید.
در سیستم های RHEL/CentOS/Fedora
از دستور chsh (change shell) برای تغییر شل کاربران در فایل /etc/passwd استفاده میکنیم، مثلا از /bin/bash یا /bin/sh به /sbin/nologin تغییر میدهیم که به معنی عدم لاگین به سیستم میباشد.
در سیستم های Debian/Ubuntu
در اینجا، شما باید از فایل /bin/false استفاده کنید. دستور زیر شل کاربر linuxzone را به /bin/false تغییر میدهد که به این معنی است که کاربر بعد از لاگین (وارد کردن پسورد) هیچ کاری نمی تواند انجام دهد.
همچنین ممکن است شما بخواهید مقالات زیر را هم مطالعه بفرمایید.
نحوه فعال و غیرفعال کردن Login یوزر Root در Ubuntu (به زودی)
ریست/ریکاوری پسورد یوزر Root در CentOS 8
نحوه محدود کردن یوزرهای SFTP به دایرکتوری Home شان با استفاده از Chroot Jail
نحوه تنظیم و غیرفعال کردن متغییرهای محیطی مربوط به سیستم و کاربر در Linux
اگر شما هر گونه سوال یا ایده دیگری در مورد این موضوع داشتید آنرا با ما به اشتراک بگذارید. موفق باشید.
همچنین توصیه میشود مطالعه کنید :
نحوه فعال یا غیرفعال کردن لاگین SSH یوزر root و محدود کردن دسترسی SSH
11 روش برای پیدا کردن اطلاعات Account و جزئیات Login کاربران در لینوکس
دستور who برای مشاهده کاربران لاگین شده به سرور لینوکس
whowatch برای مانیتور کردن کاربران و process ها به صورت لحظه ای
در این مقاله، ما میخواهیم نحوه مسدود کردن یوزرهای معمولی login شده در لینوکس (یوزرهایی که root نیستند)، با استفاده از فایل /etc/nologin و همچنین شل nologin را در لینوکس را شرح دهیم. در اینجا ما درباره ی نحوه تنظیم کردن یک پیغام (message) برای کاربران که به آنها شرح دهد چه اتفاقی رخ داده است، نیز صحبت خواهیم کرد.
نحوه بستن کاربران لاگین در سیستم با استفاده از فایل /etc/nologin
عملکرد اصلی فایل /etc/nologin برای نمایش یک پیغام (که در این فایل ذخیره شده) برای کاربرانی می باشد که در حال تلاش برای لاگین در سیستم در طول فرآیند خاموش شدن هستند.
زمانیکه پیغام به User نمایش داده میشود، کاربر قادر به لاگین نخواهد بود و از ورود یوزرها به سیستم جلوگیری می شود.
شما میتواند برای بستن Login کاربر، فایلی همانند زیر به صورت دستی ایجاد کنید.
کد PHP:
# vi /etc/nologin
کد PHP:
The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin habili@linux-zone.org .
نحوه مسدود کردن لاگین کاربر با استفاده از شل nologin
این روش با کمی تفاوت کار میکند و تنها دسترسی یک کاربر را به یک shell میبندد. اما کاربر مورد نظر میتواند ازطریق نرم افزارهایی که لزوما برای وصل شدن به سیستم نیازی به شل ندارد، همانند ftp به سیستم Login کند.
علاوه براین، در این روش اجازه دارید که دسترسی شل را برای کاربران خاص در سناریوهای خاص محدود کنید.
در سیستم های RHEL/CentOS/Fedora
از دستور chsh (change shell) برای تغییر شل کاربران در فایل /etc/passwd استفاده میکنیم، مثلا از /bin/bash یا /bin/sh به /sbin/nologin تغییر میدهیم که به معنی عدم لاگین به سیستم میباشد.
کد PHP:
# chsh -s /bin/nologin linuxzone
در سیستم های Debian/Ubuntu
در اینجا، شما باید از فایل /bin/false استفاده کنید. دستور زیر شل کاربر linuxzone را به /bin/false تغییر میدهد که به این معنی است که کاربر بعد از لاگین (وارد کردن پسورد) هیچ کاری نمی تواند انجام دهد.
کد PHP:
$ sudo chsh -s /bin/false linuxzone
همچنین ممکن است شما بخواهید مقالات زیر را هم مطالعه بفرمایید.
نحوه فعال و غیرفعال کردن Login یوزر Root در Ubuntu (به زودی)
ریست/ریکاوری پسورد یوزر Root در CentOS 8
نحوه محدود کردن یوزرهای SFTP به دایرکتوری Home شان با استفاده از Chroot Jail
نحوه تنظیم و غیرفعال کردن متغییرهای محیطی مربوط به سیستم و کاربر در Linux
اگر شما هر گونه سوال یا ایده دیگری در مورد این موضوع داشتید آنرا با ما به اشتراک بگذارید. موفق باشید.