فهرست مقاله
شما به عنوان یک مدیر سرور باید بتوانید در مواقعی که حضور ندارید و میخواهید کنترل امور سرور را موقتاً به کسی واگذار کنید بتوانید یکسری از دستورات خاص را محدود کنید در این آموزش با غیرفعال کردن دستور ریبوت و خاموش در لینوکس آشنا خواهید شد.
دستور shutdown به منظور برنامهریزی برای خاموش شدن سرور در زمان مشخص کاربرد دارد؛ و در مواقعی که این دستور یا سوییچهای خاصی استفاده شود میتواند باعث ربیوت سرور لینوکسی شود.
استفاده از دستور shutdown در توزیعهای دسکتاپی مانند Ubuntu, Linux Mint, Mandriva برای یوزرهای معمولی هیچ خطری نداشته ولی همین امر در لینوکس سرورها به شدت خطرناک بوده و نباید به هیچ عنوان یک یوزر معمولی بتوانید سرور را ریبوت و یا خاموش کند، در این مقاله خواهید دید که چگونه با غیرفعال کردن دستور ریبوت و خاموش در لینوکس میتوانیم جلوی این خطر بزرگ را بگیریم.
مراحل غیرفعال کردن دستور ریبوت و خاموش در لینوکس
بهترین و آسانترین روش غیرفعال کردن دستور shutdown در لینوکس استفاده از فایل /etc/sudoers میباشد بدین صورت که شما میتوانید فقط یوزر و یا گروه خاصی را اجازه اجرای دستورات مدیریتی را به آنها بدهید.
بدین منظور فایل زیر را با یک ویرایشگر باز کنید.
vi /etc/sudoers
حالا در بخش command aliases کد زیر را اضافه کنید تا باعث غیرفعال کردن دستور ریبوت و خاموش در لینوکس برای همه یوزرها بشه
Cmnd_Alias SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff# User privilege specificationtecmint ALL=(ALL:ALL) ALL, !SHUTDOWN# Allow members of group sudo to execute any command%developers ALL=(ALL:ALL) ALL, !SHUTDOWN
حالا سعی کنید توسط یک یوزر معمولی دستور shutdown و reboot رو اجرا کنید، شما با اروری مانند عکس زیر مواجه خواهید شد.
روش دوم غیرفعال کردن دستور ریبوت و خاموش در لینوکس
شما به عنوان مدیر سرور میتوانید پرمیژن اجرایی دستورات shutdown و reboot رو محدود کنید تا قابلیت اجرا برای یوزرهای معمولی وجود نداشته باشد.
در لینوکسهای ورژن جدید دستورات فوق فقط یک سیمبلینک لینک به فایل systemctl هستند برای اطمینان از این موضوع دستورات زیر را وارد نمایید.
ls -l /sbin/shutdown ls -l /sbin/reboot ls -l /sbin/halt ls -l /sbin/poweroff
که خروجی شما همانند عکس بالا خواهد شد. خوب همانطور که دیدید شما برای غیرفعال کردن دستور ریبوت و خاموش در لینوکس باید پرمیژن اجرایی دستور bin/systemctl/ را محدود کنید. برای این منظور دستور زیر را وارد نمایید.
chmod o-x /bin/systemctl
خوب حالا دیگه کلاً دستوراتی که با systemctl بر روی لینوکس اجرا میشدند توسط یوزرهای معمولی دیگر قابلیت اجرایی نخواهند داشت و فقط مدیر سرور این امکان را خواهد داشت.