از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از Sudo و فایل Sudoers
سرفصلهای مطلب
دستور sudo به کاربران غیر ریشه اجازه می دهد تا دستورات لینوکس دیگری را اجرا کنند که معمولاً به امتیازات فوق العاده کاربر نیاز دارند، در حالی که فایل sudoers به سیستم دستور می دهد که چگونه دستور sudo را مدیریت کند. در این آموزش، ما تمام اصول اولیه دستور sudo و روش ویرایش فایل sudoers را به شما نشان خواهیم داد.
درک سودو
برای نشان دادن روش عملکرد sudo، ابتدا از طریق SSH به VPS خود دسترسی پیدا کنید. اگر مشکل دارید، آموزش PuTTY را بررسی کنید.
به طور پیش فرض، کاربر ریشه نیازی به استفاده از پیشوند sudo ندارد. آنها در حال حاضر تمام امتیازات ممکن را دارند. در همین حال، اگر یک کاربر غیر ریشه بخواهد کاربر دیگری اضافه کند، باید پیشوند sudo را به دستور useradd اضافه کند، مانند این:
sudo useradd edward
اگر کاربر از پیشوند sudo استفاده نکند، a را دریافت خواهد کرد اجازه رد شد خروجی
فایل Sudoers
دستور sudo از طریق فایلی که در آن قرار دارد پیکربندی می شود /و غیره/ تماس گرفت سودوها.
از طریق دستور sudo امتیازات سطح مدیریت را به کاربران عادی ارائه می کنید. معمولاً اولین کاربری که هنگام نصب اوبونتو ایجاد میکنید دارای حقوق sudo است. در یک محیط VPS که کاربر اصلی پیش فرض است. می توانید سایر کاربران را طوری پیکربندی کنید که بتوانند دستور sudo را نیز اجرا کنند. این کار را می توان با ویرایش sudoers انجام داد.
مهم! توجه داشته باشید که خطاها یا نحو بد روی فایل sudoers شما ممکن است منجر به قفل کردن همه کاربران شود روی توزیع شما
نحو فایل Sudoers
می توانید فایل را با ویرایشگر متن دلخواه خود باز کنید. استفاده خواهیم کرد vi:
vi /etc/sudoers
فایل VPS ما به شکل زیر است:
بیایید به برخی از قالبها و قوانینی که هنگام ویرایش sudoers باید رعایت کنیم نگاهی بیاندازیم:
- تمام خطوط با شروع # نظرات هستند، به جز زمانی که نماد بخشی از #عبارتند از یا #includedir بخشنامه ها
- root ALL=(ALL:ALL) ALL – این خط به این معنی است که کاربر root دارای امتیازات نامحدود است و می تواند هر دستوری را اجرا کند روی سیستم
- %admin ALL=(ALL) ALL – علامت % یک گروه را مشخص می کند. هر کسی در گروه مدیریت دارای همان امتیازات کاربر ریشه است
- %sudo ALL=(ALL:ALL) همه – همه کاربران در گروه sudo از امتیاز اجرای هر دستوری برخوردار هستند
خط دیگر مورد علاقه #includedir /etc/sudoers.d است، به این معنی که میتوانیم تنظیماتی را به فایل sudoers.d اضافه کنیم و آن را در اینجا پیوند دهیم.
در حال ویرایش فایل Sudoers
برای ویرایش /etc/sudoers فایل، از دستور زیر استفاده کنید:
sudo visudo -f /etc/sudoers
توصیه می شود از visudo برای ویرایش فایل sudoers استفاده کنید. Visudo اطمینان حاصل می کند که sudoers توسط یک کاربر در یک زمان ویرایش می شود و بررسی های نحوی لازم را ارائه می دهد.
برای اینکه ببینیم چه کاربرانی در گروه sudo هستند میتوانیم از دستور grep استفاده کنیم:
grep ‘sudo’ /etc/group
با این کار لیستی از نامهای کاربری نمایش داده میشود.
برای افزودن کاربری به نام bill به گروه sudo، از اضافه کننده دستور در خط فرمان، مانند این:
adduser bill sudo
اگر از دستور grep برای بررسی افرادی که در گروه هستند استفاده کنیم، صورت حساب نام کاربری را خواهیم دید.
اگر می خواهید به کسی امتیازات root بدهید فقط آنها را به sudo اضافه کنید.
برای حذف یک کاربر از sudo:
deluser bill sudo
دستور deluser صورتحساب را از گروه sudo حذف می کند.
اکنون صورتحساب کاربر دیگر نمی تواند اقداماتی را انجام دهد که به امتیازات sudo نیاز دارند.
از فایل Sudoers برای اعطای امتیازات خاص استفاده کنید
اگر بخواهیم بیل بتواند فقط انواع خاصی از دستورات را با امتیازات sudo اجرا کند، مانند شبکه چه؟
برای این کار یک فایل پیکربندی در آن ایجاد می کنیم /etc/sudoers.d/ شبکه نامیده می شود.
برای ایجاد فایل از دستور زیر استفاده کنید:
sudo visudo -f /etc/sudoers.d/networking
متن زیر را در فایل اضافه کنید:
Cmnd_Alias CAPTURE = /usr/sbin/tcpdump Cmnd_Alias SERVERS = /usr/sbin apache2ctl, /usr/bin/htpasswd Cmnd_Alias NETALL = CAPTURE, SERVERS %netadmin ALL=NETALL
سپس دستور را اجرا کنید:
addgroup netadmin
کاری که در فایل فوق انجام داده ایم ایجاد یک گروه نتادمین است. کاربران در گروه netadmin می توانند دستورات مشخص شده در NETALL را اجرا کنند. NETALL به نوبه خود شامل تمام دستورات تحت نام مستعار CAPTURE و SERVERS است. دستور tcpdump تحت نام مستعار CAPTURE است /usr/sbin/tcpdump.
سپس صورتحساب کاربر را به گروه netadmin اضافه می کنیم:
sudo adduser bill netadmin
اکنون صورتحساب کاربر میتواند دستور tcpdump را به همراه سایر دستورات مرتبط با شبکه اجرا کند.
نتیجه
اگر با چندین کاربر کار می کنید، درک دستور sudo و فایل sudoers یک الزام مطلق است. در این آموزش، شما تمام اصول اولیه برای کنترل امتیازات سیستم خود را یاد گرفتید!
به سایر دستورات لینوکس مسلط شوید
روش کشتن یک فرآیند در لینوکس
روش تست اتصال با دستور پینگ
روش مدیریت فرآیندها در لینوکس
روش استفاده از Dig Command برای جستجوی DNS
روش لیست کردن خدمات در لینوکس
روش تغییر رمز عبور کاربر در لینوکس
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 07:52:04