SU در لینوکس به زبان ساده

SuperUser

لینوکس تمهیدات امنیتی زیادی برای حفاظت از سیستم ما در برابر تهدیدات و بعضا اشتباهات و حماقت‌های خود ما دارد!
سه ویژگی اصلی برای اعمال محدودیت و ارائه‌ی دسترسی و انجام تغییرات در سیستم (در صورت نیاز) در لینوکس به شرح زیر است:

اگرچه از SU معمولا به عنوان super user یاد می‌شود اما در حقیقت SU مخفف substitute user است و امکان اجرای دستورات با file permissions‌های کاربران دیگر را به ما می‌دهد و این کاربر دیگر به طور پیشفرض کاربر ریشه است. این ابزار بسیار قوی و کمک‌کننده است اگر به طور صحیح استفاده شود و از آن‌سو اگر نادرست استفاده شود می‌تواند بسیار مخرب باشد.

در ادامه به جزئیات بیشتری در رابطه با دستور SU می‌پردازیم و توضیح می‌دهیم که چرا هنگام استفاده از این دستور باید محتاط بود.

حساب کاربری مدیر (admin account)

حساب کاربری مدیر

تمام سیستم‌عامل‌های مطرح مفهوم حساب کاربری مدیر (administrator account) را در خود دارند. به نحوی که این حساب کاربری امتیازات و دسترسی‌های بیشتری نسبت به حسابهای کاربری معمولی دارد.
کاربران معمولی تنها اجازه دسترسی به فایلهای خودشان را دارند و نمی‌توانند به فایلهای دیگران دسترسی داشته باشند و همچنین اجازه خواندن (read-only access) فایلهای سیستمی را دارا می‌باشند، تا بتوانند برنامه‌های نصب شده روی سیستم را اجرا کنند.

اما در سوی دیگر، حساب مدیر علاوه بر امکان تغییر فایلهای سیستم، که شامل نصب برنامه‌های جدید یا بروزرسانی برنامه‌های نصب شده است، (معمولا) امکان مشاهده فایلهای دیگر کاربران را نیز دارا می‌باشد.

مدیر سیستم، با این فرض که نسبت به کاربر عادی اطلاعات بیشتری دارد و آگاهانه در حال کار روی سیستم است، اجازه اعمال تغییرات حجیم‌تر و اساسی‌تری روی سیستم، بدون ایجاد اشکال در سیستم یا درز اطلاعات حساس، را دارا می‌باشد. کاربران عادی بدون این مجوزهای لازم اجازه انجام کارهای ذکر شده را ندارند، بنابراین احتمال ایجاد اخلال در سیستم توسط آنها کم است.

در اکثر سیستم‌های یک کاربره، همان کاربر، مدیر سیستم است و توانایی انجام هرکاری روی سیستم را دارد و نیاز به شخصی ثالث به عنوان مدیر سیستم وجود ندارد. اگرچه زمانیکه کابران در تمام اوقات به مجوزهای سطح بالا دسترسی داشته باشند امکان دارد از آنها کورکورانه استفاده کنند، مثال ساده‌ آن پذیرش بدون تامل درخواست‌های بعضی از برنامه‌ها برای دسترسی مدیریت (‌‌admin right) است.

حساب کاربری super user (کاربر مافوق) در لینوکس

لینوکس راهی متفاوت‌تر برای اعطای مجوزهای مدیریتی (administrative privileges) را در پیش گرفته. به این معنا که به جای اعطای امتیاز مدیریتی به یک یا چند حساب کاربری معمولی، همه‌ی کاربران عادی محسوب می‌شوند و تنها یک حساب کاربری SU وجود دارد و اگر کاربری قصد انجام کاری داشته باشد که نیاز به سطح دسترسی مدیریت است، با دستور ‌SU میتواند به انجام کار دلخواه بپردازد.

اگر حتی از منظر فلسفی به موضوع نگاه کنیم، این متد کاربر را مجبور می‌کند تا دریابد که در حال انجام تغییری جدی بر روی سیستم است، درحالیکه بدون استفاده از SU اینچنین نیست.

به منظور تعویض به حساب کاربری SU تنها نیاز دارید تا ترمینال را باز کرده و دستور زیر را وارد کنید

su

پس از وارد کردن دستور از شما پسوورد درخواست می‌شود. اگر از sudo استفاده میکنید همچنین میتوانید دستور زیر را وارد کنید

sudo bash

 دستور بالا bash (به طور ساده: محیطی که دستورات را در آن وارد میکنید) را برای شما باز خواهد کرد اما این بار می‌توانید به جای کاربر عادی به عنوان کاربر ریشه دستورات خود را اجرا کنید.

su login in terminal

 مزایای SU

جداسازی حساب کاربری مدیریت از حساب‌های کاربری عادی به اداره کردن (managing) سیستم نیز کمک خواهد کرد. اگر یک مدیر سیستم بخواهد تغییراتی را اعمال کند نیازی به ساخت یک حساب کاربری عادی ندارد و می‌تواند به راحتی از SU استفاده کند. حساب‌های کاربری پسوورد‌های متفاوتی دارند لذا تنها کسانی که قصد ورود به SU را داشته باشند و پسوورد آن را نیز داشته باشند قادر به ورود هستند.

حساب کاربری SU بسیار قدرتمند است، بنابراین باید ورود به آن و استفاده از آن را امری جدی تلقی کنید. به عنوان کاربر ریشه (root) شما قادر خواهید بود تمام سیستم خود را تنها با یک دستور delete کنید. اما به عنوان کاربر عادی اجازه چنین کاری ندارید؛ زیرا اساسا به عنوان کاربر عادی اجازه تغییر فایلهای خارج از محدوده پوشه home خود را ندارید. هرگونه آسیب به سیستم به عنوان کاربر عادی تنها در محدوده حساب کاربری خودتان خواهد بود و صدمه‌ای به کل سیستم یا دیگر کاربران نخواهد زد.

linux no malware

 

این متد همچنین یک مکانیسم دفاعی در برابر بدافزارها ایجاد می‌کند. اگر بدافزار راهی برای ورود به سیستم شما پیدا کند و سپس اجرا شود، تنها سطح دسترسی به عنوان یک کاربر عادی را دارا خواهد بود و تنها در صورتی می‌تواند سطوح دسترسی بالاتری را بگیرد که پسوورد ریشه را بداند. پس اگرچه خواهد توانست به بعضی از مکانهای سیستم (که مختص به حساب کاربری خاصی است) خسارت وارد کند اما قادر به از کار انداختن کل سیستم نخواهد بود. در بعضی از موارد نادر، باگ‌هایی یافت شده که اجازه اخذ سطح دسترسی ریشه را به نرم‌افزارها می‌دادند، اما معمولا این باگ‌ها در طول چندروز برطرف می‌شوند و خطری کاربران را تهدید نمی‌کند.

SU در برابر Sudo

استفاده از دستور SU در بعضی موارد راحت و دلپسند نبود، پس اینجا بود که دستور sudo ابداء شد. این دستور که مختصر عبارت “SU do” است، با قرار گرفتن به عنوان پسوند دیگر دستورات، درحالیکه در حساب کاربری عادی قرار داریم، بدون ورود به حساب کاربری ریشه، امکان اجرای دستورات با سطح دسترسی ریشه را به ما می‌دهد. تنها نیاز است تا (SU (super user حساب کاربری شما را در گروه “sudoers” ها قرار دهد، سپس قادر خواهید بود تا به راحتی از دستور sudo استفاده کنید.

بعضی از توزیع‌های گنو/لینوکس ترجیح می‌دهند تا فقط از دستور sudo پشتیبانی کنند و بنابراین دستور SU را غیرفعال می‌کنند تا کاربر عادی قادر نباشد در تمام مدت به عنوان یک کاربر ریشه، سطح دسترسی بالا به سیستم داشته باشد. اینکار همچنین از مشکلات حفره‌های امنیتی روز صفر (zero-day) نیز جلوگیری میکند. در‌نتیجه تنها با فعال بودن sudo، بدافزار مجبور خواهد شد تا پسوورد حساب کاربر را حدس بزند تا بتواند سطح دسترسی بالا به سیستم پیدا کند.

مشکلی که sudo دارد شبیه به دیگر سیستمهای عامل است. کاربرانی که به sudo دسترسی دارند کورکورانه و بدون تامل از آن استفاده می‌کنند. این مسئله، مشکل بزرگی برای سیستمهایی با یک کاربر و حتی سیستمهایی با تعداد کمی کاربر که معدودی از آنها به sudo دسترسی دارند، به وجود نمی‌آورد. اما بهتر است تا سیستمهای بزرگتر و پیچیده‌تر با همان مدل قبلی (کاربران معمولی به همراه ققط یک حساب کاربری SU)  مدیریت شوند.

ایمن بمانید!

خلاصه‌ای کوتاه: SU فوق‌العاده است، چرا که احتمال اشتباهات را کم می‌کند، اما با این حال هنوز ابزار قدرتمندی است و باید توسط افراد مناسب استفاده شود (بسته به این که چه نوع سیستمی را در نظر بگیریم). در سوی دیگر sudo تلاش می‌کند تا فاصله‌ی میان کاربر ریشه (root) و کاربران عادی را پر کند و با این حال این ابزار هم در تئوری می‌تواند ضعف‌هایی داشته باشد. این که از چه روشی استفاده خواهید کرد به خودتان بستگی دارد و شما انتخاب می‌کنید (از زیبایی‌های لینوکس 🙂 )، اما بدون شک آگاه بودن از جوانب مختلف مسئله شما را به سمت انتخاب بهتری رهنمون خواهد کرد.

ترجمه: حمیدرضا مهدوی‌پناه. آدرس مقاله اصلی: makeuseof.com/tag/su-important-using-linux-effectively

 

نظر شما در رابطه با SU و Sudo چیه؟ نکات، پیشنهادات و دانسته‌هاتونو در کامنت با دیگران به اشتراک بذارید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *