گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

گروه کاربران لینوکس دانشگاه شهید مدنی آذربایجان

لاگ دانشگاه آذربایجان :: Azarbaijan University Linux User Group

چهار روش برای غیر فعال کردن حساب ریشه (root ) در لینوکس


چهار روش برای غیر فعال کردن حساب ریشه در لینوکس


حساب ریشه ، یک حساب نهایی در لینوکس و سایر سیستم عامل های مشابه یونیکس است. این حساب به تمامی دستورات و فایل ها در یک سیستم با مجوز کامل خواندن، نوشتن و اجرا، دسترسی دارد. برای انجام هر کاری در یک سیستم استفاده می شود؛ برای ایجاد، به روز رسانی، دسترسی، حذف حساب های کاربران دیگر، نصب، حذف، ارتقاء بسته های نرم افزاری و خیلی موارد بیشتر. 


از آنجا که کاربر ریشه دارای قدرت مطلق است، هر گونه فعالیتی که وی انجام می دهد در یک سیستم حیاتی است. در این راستا، هر گونه خطا توسط کاربر ریشه ممکن است پیامدهای بزرگی در عملکرد عادی یک سیستم داشته باشد. علاوه بر این، این حساب نیز ممکن است با استفاده نامناسب از آن یا به طور تصادفی و یا از طریق نادیده انگاشتن سیاست ها مورد سوء استفاده قرار گیرد. بنابراین، بهتر است دسترسی ریشه در سرور لینوکس خود را غیر فعال کنید، در عوض، یک حساب مدیریتی ایجاد کرده و برای به دست آوردن امتیازات ریشه با استفاده از دستور sudo، برای انجام وظایف مهم در سرور، حساب مورد نظر را پیکربندی کنید.


در این مقاله، ما چهار راه برای غیر فعال کردن ورود به حساب کاربریroot در لینوکس را توضیح خواهیم داد.


توجه: قبل از اینکه شما دسترسی به حساب ریشه را مسدود کنید، مطمئن شوید که یک حساب کاربری ایجاد کرده اید، دستور useradd، به استفاده از دستور sudoبرای به دست آوردن امتیازات کاربر ریشه کمک میکند و یک رمز عبور قوی برای حساب کاربری ارائه می دهد. پرچم m به معنی ایجاد دایرکتوری خانگی کاربر است و c اجازه می دهد تا یک نظر را مشخص کند:

# useradd –m –c "Admin User" admin

# passwd  admin


سپس، این کاربر را به گروه مناسب از مدیران سیستم با استفاده از دستور usermod  اضافه کنید، جایی که سوئیچ -a،  به معنی اضافه کردن حساب کاربری است و -G ، یک گروه را برای اضافه کردن کاربر (wheel or sudo) در توزیع لینوکس شما مشخص می کند:

# usermod     -aG    wheel   admin              #Centos

# usermod    -aG      sudo    admin               #Debian


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


#  su  admin

 

1) تغییر ریشه کاربر Change root User’s Shell)  Shell ) 


ساده ترین روش برای غیرفعال کردن ورود کاربر root این است که پوسته خود را از/bin/bash  (یا هر پوسته دیگری که اجازه ورود کاربر را دارد) به /sbin/nologin درفایل /etc/passwd تغییردهید.


$   sudo    vim  /etc/passwd

تغییر خط:



root:x:0:0:root:/root:/bin/bash

to

root:x:0:0:root:/root:/sbin/nologin


درانتها فایل را ذخیره کرده و ببندید.


ازاین پس، هنگامی که کاربر ریشه وارد سیستم می شود، پیامی دریافت می کند: "این حساب در حال حاضر در دسترس نیست." این پیام پیش فرض است، اما شما می توانید آن را تغییر دهید و یک پیام سفارشی در فایل /etc/nologin.txt تنظیم کنید. این روش تنها برای برنامه هایی که نیاز به پوسته برای ورود به سیستم دارند موثر است، در غیر این صورت، سرورهای sudo، ftp و ایمیل می توانند به حساب root دسترسی پیدا کنند.


2) غیرفعال کردن ورود کاربر root از طریق کنسول ((Disable root Login via Console Device (TTY)


روش دوم از یک ماژول PAM به نام pam_securetty استفاده می کند که اجازه دسترسی به ریشه را فقط در صورتی که کاربر در   TTY "امن" وارد شده باشد، می دهد. همانطور که در فهرست etc / securetty تعریف شده است. فایل فوق به شما اجازه می دهد که مشخص کنید کدام دستگاه های TTY کاربر ریشه، مجاز به ورود به سیستم است، تخلیه این فایل از ورود ریشه در هر دستگاه متصل به سیستم کامپیوتری جلوگیری می کند.


$  sudo mv /etc/securetty /etc/securetty.orig

$  sudo touch /etc/securetty

$  sudo chmod  600 /etc/securetty


این روش دارای برخی محدودیت هاست و تنها بر روی برنامه هایی نظیر ورود به سیستم، مدیران نمایش (i.e gdm، kdm و  ( xdm و سایر سرویس های شبکه ای که TTY را راه اندازی می کنند، تاثیر می گذارد. برنامه هایی مانند su، sudo، ssh و سایر ابزارهای باز شده به حساب root دسترسی خواهند داشت.


3) غیر فعال کردن ریشه ورود به سیستم SSH (Disable SSH Root Login)


رایج ترین راه برای دسترسی به سرورهای از راه دور و یا VPS ها از طریق SSH است و برای مسدود کردن ورود کاربر ریشه تحت آن، شما باید فایل /etc / ssh / sshd_config را ویرایش کنید.


 $ sudo vim /etc/ssh/sshd_config


سپس دستورPermitRootLogin  مطابق شکل زیر اجراکرده و مقدار آن را به no  تغییر دهید.



پس از پایان کار، فایل را ذخیره کرده و ببندید. سپس سرویس sshd را مجددا راه اندازی کنید تا تغییرات اخیر در تنظیمات اعمال شود.


  $ sudo systemctl restart sshd

 or

$  sudo service sshd restart


این روش فقط بر روی مجموعه ابزار openssh تاثیر می گذارد؛ برنامه هایی مانند ssh، scp، sftp از دسترسی به حساب root رد می شوند. 


4) دسترسی ریشه به خدمات را از طریق PAM محدود کنید (Restrict root Acess to Services Via PAM)


ماژول های تأیید هویت انطباق پذیر (PAM در کوتاه مدت) یک روش متمرکز، پلاگین، انعطاف پذیر برای احراز هویت در سیستم های لینوکس است.  PAM از طریق ماژولlib/security/pam_listfile.so / به انعطاف پذیری زیاد در محدود کردن امتیازات حساب های خاص اجازه می دهد. ماژول بالا می تواند برای ارجاع به یک لیست از کاربران که مجاز به ورود از طریق برخی از خدمات هدف مانند ورود به سیستم، SSH و هر برنامه آگاه از PAM  نیستند، استفاده شود.


در این مورد، ما می خواهیم  دسترسی ریشه به یک سیستم را با محدود کردن دسترسی به ورود و سرویس های sshd غیرفعال کنیم. ابتدا فایل را برای سرویس هدف در دایرکتوری  /etc/pam.d/باز کرده و ویرایش کنید.



$  sudo vim /etc/pam.d/login

or

sudo vim /etc/pam.d/sshd

بعد، پیکربندی زیر را در هر دو فایل اضافه کنید.


auth    required       pam_listfile.so \

onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers


هرفایل را ذخیره کرده و ببندید.سپس فایل ساده / etc / ssh / deniedusers را ایجاد کنید که باید حاوی یک مورد در هر خط باشد. نام ریشه را در آن اضافه کنید، سپس آن را ذخیره کرده و آن را ببندید.


$  sudo vim /etc/ssh/deniedusers

همچنین مجوزهای مورد نیاز در این را تنظیم کنید.


$  sudo chmod 600 /etc/ssh/deniedusers


این روش تنها بر برنامه ها و سرویس هایی که PAM آگاه هستند، تاثیر می گذارد. شما می توانید دسترسی ریشه به سیستم را از طریق FTP و ایمیل مشتریان و غیره مسدود کنید. برای اطلاعات بیشتر، به صفحات مربوط بهman  مراجعه کنید.


$  man pam_securetty

 $ man sshd_config

 $ man pam


در این مقاله، ما چهار راه را برای غیر فعال کردن حساب ریشه (root) در لینوکس توضیح دادیم.امیدوارم مطالب این بخش ازلینوکس برای شما مفید باشد.



منبع : https://www.tecmint.com/disable-root-login-in-linux/


تهیه کننده : رضا لطیفی 951830260 



نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد