نحوه استفاده از سودو در Debian ، CentOS و FreeBSD

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

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

پیش نیازها

  • یک سرور تازه نصب شده لینوکس با توزیع دلخواه شما.
  • ویرایشگر متن نصب شده بر روی سرور اعم از nano، vi، vim، emacs.

مرحله 1: نصب sudo

دبیان

apt-get install sudo -y

CentOS

yum install sudo -y

FreeBSD

cd /usr/ports/security/sudo/ && make install clean

یا

pkg install sudo

مرحله 2: اضافه کردن کاربر sudo

sudoکاربران یک حساب کاربری عادی بر روی یک ماشین لینوکس یا یونیکس است.

دبیان

adduser mynewusername

CentOS

adduser mynewusername

FreeBSD

adduser mynewusername

مرحله 3: اضافه کردن کاربر جدید به گروه چرخ (اختیاری)

گروه چرخ یک گروه کاربری است که تعداد افرادی که قادر suبه ریشه زدن هستند را محدود می کند. اضافه کردن sudoکاربر خود به wheelگروه کاملاً اختیاری است ، اما توصیه می شود.

توجه: در دبیان ، این sudoگروه اغلب به جای یافت می شود wheel. با این وجود می توانید wheelگروه را با استفاده از groupaddدستور به صورت دستی اضافه کنید . به منظور استفاده از این آموزش ، از sudoگروه برای دبیان استفاده خواهیم کرد.

تفاوت بین wheelو sudo.

در CentOS و Debian ، یک کاربر متعلق به wheelگروه می تواند اجرا کند suو مستقیماً به آن صعود کند root. در همین حال ، یک sudoکاربر از sudo suاولین استفاده می کند . در اصل ، هیچ تفاوت واقعی وجود ندارد به جز نحو استفاده شده برای ریشه زدن ، و کاربران متعلق به هر دو گروه می توانند از این sudoدستور استفاده کنند .

دبیان

usermod -aG sudo mynewusername

CentOS

usermod -aG wheel mynewusername

FreeBSD

pw group mod wheel -m mynewusername

مرحله 4: اطمینان حاصل کنید که sudoersپرونده شما به درستی تنظیم شده است

این مهم است که اطمینان حاصل کنید که sudoersپرونده واقع در واقع به /etc/sudoersطور صحیح تنظیم شده است sudo usersتا بتواند از این sudoدستور به طور مؤثر استفاده کند . به منظور تحقق این امر ، ما مطالب موجود را مشاهده خواهیم کرد /etc/sudoersو در صورت لزوم ویرایش می کنیم.

دبیان

vim /etc/sudoers

یا

visudo

CentOS

vim /etc/sudoers

یا

visudo

FreeBSD

vim /etc/sudoers

یا

visudo

توجه: این visudoدستور /etc/sudoersبا استفاده از ویرایشگر متن ترجیحی سیستم (معمولاً vi یا vim) باز می شود .

بررسی و ویرایش را در زیر این خط شروع کنید:

# Allow members of group sudo to execute any command

این بخش /etc/sudoersاغلب مانند این است:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

در بعضی از سیستمها ، ممکن است %wheelبه جای پیدا کردن %sudo؛ در این حالت ، این خطی خواهد بود که زیر آن اصلاح را شروع می کنید.

اگر خطی که از %sudoDebian یا %wheelCentOS و FreeBSD شروع می شود اظهار نظر نشده است (پیش شماره #) ، این بدان معنی است که sudo از قبل تنظیم شده است و فعال شده است. سپس می توانید به مرحله بعدی بروید.

مرحله 5: به کاربرانی که متعلق به گروه wheelو نه sudoگروه باشد ، اجازه اجرای sudoدستور را می دهد

این امکان وجود دارد که به یک کاربر که در هیچ گروه کاربری نیست بتواند sudoدستور را با اضافه کردن موارد /etc/sudoersزیر به صورت زیر اجرا کند:

anotherusername ALL=(ALL) ALL

مرحله 6: راه اندازی مجدد سرور SSHD

برای اعمال تغییراتی که ایجاد کرده اید /etc/sudoers، باید سرور SSHD را به شرح زیر مجدداً راه اندازی کنید:

دبیان

/etc/init.d/sshd restart

CentOS 6

/etc/init.d/sshd restart

CentOS 7

systemctl restart sshd.service

FreeBSD

/etc/rc.d/sshd start

مرحله 7: تست

بعد از راه اندازی مجدد سرور SSH ، از سیستم خارج شوید و دوباره به عنوان سیستم وارد شوید sudo userو سپس سعی کنید برخی دستورات تست را به شرح زیر اجرا کنید:

sudo uptime
sudo whoami

هر یک از دستورات زیر اجازه sudo userتبدیل شدن را می دهد root.

sudo su -
sudo -i
sudo -S

یادداشت:

  • این whoamiدستور rootهنگامی که همراه باشد ، برمی گردد sudo.
  • از شما خواسته می شود هنگام اجرای sudoدستور ، رمزعبور کاربر خود را وارد کنید ، مگر اینکه صریحاً به سیستم دستور دهید تا sudo usersپسوردهای آنها را فوراً انجام ندهد . لطفا توجه داشته باشید که این یک روش توصیه شده نیست

اختیاری: اجازه sudoبدون وارد کردن رمز عبور کاربر

همانطور که قبلاً توضیح داده شد ، این یک روش توصیه شده نیست و فقط برای اهداف تظاهرات در این آموزش گنجانده شده است.

به منظور اجازه خود را sudo userبرای اجرای sudoدستور بدون اینکه برای رمز عبور خود را برانگیخت، خط دسترسی در پسوند /etc/sudoersبا NOPASSWD: ALLشرح زیر است:

%sudo   ALL=(ALL:ALL) ALL   NOPASSWD: ALL

توجه: برای اعمال تغییرات باید سرور SSHD خود را مجدداً راه اندازی کنید.

مرحله 8: دسترسی مستقیم به ریشه را غیرفعال کنید

اکنون که تأیید کردید که می توانید sudo userبدون مشکل از خود استفاده کنید ، زمان آن رسیده است که مرحله هشتم و آخر ، دسترسی مستقیم به ریشه را غیرفعال کنید.

ابتدا /etc/ssh/sshd_configبا استفاده از ویرایشگر متن مورد علاقه خود باز کنید و خط حاوی رشته زیر را پیدا کنید. ممکن است با یک #شخصیت پیشوند شود .

PermitRootLogin

صرف نظر از پیشوند یا مقدار گزینه موجود در /etc/ssh/sshd_config، باید آن خط را به صورت زیر تغییر دهید:

PermitRootLogin no

در آخر ، سرور SSHD خود را مجدداً راه اندازی کنید.

توجه: فراموش نکنید که آزمایشات خود را با استفاده از SSH به سرور خود آزمایش کنید root. اگر قادر به انجام این کار نیستید ، این بدان معنی است که شما تمام مراحل لازم را با موفقیت انجام داده اید.

این نتیجه گیری آموزش ما است.

یک نظر بگذارید