آشنایی با انواع حساب های کاربری در لینوکس
حساب های کاربری یک مفهوم کلیدی در لینوکس هستند. در درجه اول، آنها به شما کمک می کنند تا کنترل دسترسی روی سیستم خود را مدیریت کنید. علاوه بر این، آنها به چندین کاربر اجازه می دهند در هر زمان معین وارد سیستم شوند و برای امنیت یک سیستم حیاتی هستند. بدون حسابهای کاربری، کنترل اینکه چه کسی به چه بخشی از سیستم لینوکس دسترسی دارد دشوار خواهد بود. لینوکس دارای چهار نوع حساب کاربری اصلی است که در ادامه بیشتر با آنها آشنا خواهید شد.
یک سیستم لینوکس می تواند چندین حساب کاربری داشته باشد، بنابراین، برای اینکه بتواند هر حساب را به طور منحصر به فرد شناسایی کند، لینوکس از User Identifiers (UID) و Group Identifiers (GIDs) استفاده می کند. اساس هر حساب کاربری حول UID آن می چرخد. علاوه بر این، هر حساب کاربری با یک گروه خاص مرتبط است و بنابراین یک GID به آن اختصاص داده می شود.
البته یک حساب کاربری می تواند به چند گروه تعلق داشته باشد. علاوه بر داشتن شناسه های کاربر و گروه، هر حساب کاربری دارای UID خود در محدوده خاصی است که با نوع حسابی که به آن تعلق دارد مطابقت دارد.
1. Superuser Account
در لینوکس، حساب کاربری superuser عموماً به عنوان root شناخته می شود (مدیر پیش فرض سیستم شما). هر سیستم لینوکس باید حداقل یک حساب کاربری روت داشته باشد. به عنوان بخشی از امتیازات مدیریتی، حساب کاربری سوپریوزر دسترسی نامحدود و کنترل یک سیستم از جمله سایر کاربران را دارد. به همین دلیل است که همیشه باید یک رمز عبور قوی برای اکانت روت تعیین کنید.
حساب سوپریوزر همیشه دارای UID 0 است و بخشی از ID گروه 0 نیز می باشد. برخلاف سایر حسابها، superuser دایرکتوری اصلی خود را در دایرکتوری سطح بالا دارد که در /root قرار دارد.
2. Regular Accounts
همه کاربران دیگری که بعداً به سیستم لینوکس اضافه می شوند به عنوان حساب های Regular یا حساب های استاندارد شناخته می شوند. این نوع حساب ها دسترسی و کنترل محدودی بر روی سیستم دارند اما می توانند با استفاده از دستور sudo یا su به دسترسی مدیریتی دست یابند.
در سیستمهای لینوکس مدرن، کاربران عادی دارای UIDهایی با شماره چهار رقمی هستند که از 1000 شروع میشود. در واقع، اولین حساب کاربری که در سیستم خود ایجاد میکنید معمولا دارای UID 1000 خواهد بود. بهطور پیشفرض، حسابهای کاربری معمولی فهرست اصلی خود را در فهرست /home دارند. اگر از دستور ls برای فهرست کردن دایرکتوری خانگی استفاده کنید، تصویر خوبی از کاربران فعلی سیستم خود دریافت خواهید کرد.
یکی دیگر از ویژگی های مهم حساب های معمولی این است که آنها دارای پوسته پیش فرض هستند و در اکثر توزیع های لینوکس، این پوسته Bourne Again Shell (Bash) است. اگر ترجیح می دهید می توانید پوسته پیش فرض خود را تغییر دهید، به عنوان مثال، آن را روی پوسته Z یا پوسته C تنظیم کنید.
3. System Accounts
سیستم عامل در حین نصب حساب سیستمی ایجاد می کند. System accounts برای اجرای کامپوننت های سیستم عامل استفاده می شود اما با امتیازات superuser اجرا نمی شود. اکثر حسابهای سیستمی، شناسههای کاربری خود را در محدوده 1 تا 99، به عنوان یک قانون سرانگشتی، دو رقمی دارند. در برخی موارد، حساب های سیستم دارای UID های سه رقمی بین اعداد 500 و 999 هستند.
نمونه ای از حساب سیستم، وب سرور آپاچی است که دارای UID و شماره GID 48 است. System accounts نه فهرست اصلی اختصاصی دارند و نه پوسته دارند، زیرا در طول عمر آنها هرگز نیازی به ورود به سیستم نیست.
4. Service Accounts
آخرین اما نه کم اهمیت، بیایید نگاهی به Service accounts بیندازیم. Service accounts کمی شبیه به حسابهای سیستمی هستند: زمانی که سرویسی روی سیستم شما نصب میشود، ایجاد میشوند. به عنوان مثال، هنگامی که یک پایگاه داده سرور SQL را نصب می کنید، سیستم یک حساب کاربری مربوطه برای مدیریت فعالیت های مربوط به سرور SQL ایجاد می کند.
درست مانند حسابهای سیستم، Service accounts پوشه اصلی یا پوسته پیشفرض ندارند. آنها به /sbin/nologin اختصاص داده می شوند تا از ورود به سیستم خودداری کنند. حساب های سرویس معمولا دارای یک UID سه رقمی بین 100 تا 999 هستند. برخی از خدمات برجسته ای که در سیستم خود خواهید یافت عبارتند از systemd، GNOME Display Manager (GDM)، سرویس چاپ CUPS و غیره.