linux

مفهوم کاربر root در لینوکس

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

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

 

کاربر root که آنرا کاربر ریشه , مدیر و یا Super User نیز می نامند دسترسی کامل به سیستم عامل لینوکس دارد می تواند برنامه هایی را نصب و یا حذف کند و یا اینکه مجوز ها زا تغییر دهد و بطور کل بر تمام سیستم نظارت دارد.اما چرا با وجود کاربر ریشه چرا باید یک کاربر دیگر ساخت؟پاسخش این است که همانطور که گفته شد کاربر ریشه دسترسی کامل به سیستم را دارد و استفاده نادرست از امتیازات این کاربر بعاث خواهد شد که به سیستم صدمه وارد شود.پس بهتر این است که با یک کاربر معمولی به سیستم وارد شویم و برای کارهای مهم و سیستمی با دستور هایی مانند su و sudo بعنوان کاربر ریشه عمل کنیم.(این دو دستور همان مفهوم و کاربرد runas در ویندوز هستند)

مشخصات کاربر ریشه چیست ؟ این کاربر دارای نام کاربری root با User ID عدد 1 و عضو اصلی و اولین عضو گروه root با Group ID عدد 1 است که البته می توان دیگر اعضای سیستم را به گروه root اضافه کرد.دایرکتوری خانگی آن بر خلاف دیگر کاربران که در مسیر home/ است دایرکتوری خانگی آن در مسیر root/ است.کاملان به سیستم دسترسی دارد و بر تغییرات دیگران نیز می تواند دسترسی داشته باشد. مثلن اگر کاربر معمولی user1 فایلی را ایجاد کند یک کاربر معمولی دیگر نمی تواند آنرا پاک کند اما کاربر ریشه این کار را می تواند انجام دهد.

در برخی از توزیع های لینوکسی مانند RHLE در هنگام نصب شما حتمن باید یک گذرواژه برای کاربر ریشه تعیین کنید اما در توزیع هایی مانند ابونتو این کار را انجام نمی دهید. در این صورت سیستم همان گذرواژه ای که شما برای نام کاربری خودتان تعریف کردید را هم برای کاربر ریشه در نظر می گیرد.حتمن توجه کنید که پس از ورود به سیستم با دستور های زیر اقدام به ایجاد یک گذرواژه جدید برای کاربر ریشه بکنید.

تفاوت دیگر کاربران معمولی با کاربران ریشه در تفاوت میان مسیرهای دایرکتور های حاوی دستور هاست. در لینوکس برای هر کاربر یک متغیر به نام PATH وجود دارد که سیستم عامل این مسیرها را برای پیدا کردن دستور جستجو می کند.فرض کنید یک کاربر یک دستور را اجرا می کند و سیستم پیغامی نشان می دهد که دستور پیدا نشد دلیل ولی این دستور برای کاربر ریشه اجرا می شود. دلیل آن این نیست که این برنامه نصب نشده است بلکه دلیلش این است که برنامه نصب شده اما در دایرکتوری وجود دارد که مسیر آن فقط در متغیر PATH کاربر ریشه وجود دارد و وقتی سیستم متغیر PATH یک کاربر معمولی را برای یافتن مسیر ها بررسی می کند مسیر منتهی به آن دستور را پیدا نمی کند.

فرض کنید یک کاربر معمولی دستور ls را می زند و بدون هیچ پیام خطایی خروجی را می بیند و کاربر ریشه هم این دستور را اجرا می کند و خروجی را می بیند. اما وقتی یک کاربر معمولی دستور adduser را می زند و یک پیغام خطای برای عدم داشتن مجوز دریافت می کند ولی کاربر ریشه به راحتی دستور را اجرا می کند. برخلاف بالا کاربر خطای یافت نشدن دستور را مشاهده نکرد بلکه عدم داشتن مجوز اجرایی دلیل اجرا نشدن دستور بود. در این حالت مسیر دستور adduser در متغییر PATH هردوکاربر ریشه و معمولی است اما تنها کاربر ریشه مجوز اجرا execute را دارد

آشنایی با مدیریت کاربران در لینوکس – بخش اول

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد