مدیریت دسترسی کاربران و گروه‌ها در لینوکس

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

با مطالعه این مطلب خواهیم آموخت که چطور کاربران و حساب‌ها را در لینوکس مدیریت و یکپارچگی و امنیت سیستم را تضمین کنیم.

فهرست محتوایی مقاله پنهان

انواع حساب کاربری در لینوکس

در این بخش به مرور انواع حساب کاربری در لینوکس، سطوح دسترسی و کاربرد آن‌ها می‌پردازیم. ابتدا کاربر Root‌ را بررسی می‌کنیم.

کاربر روت root‌ در لینوکس

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

سطح دسترسی کاربر root در لینوکس

کاربر روت در لینوکس به تمام سیستم عامل لینوکس به‌طور کامل دسترسی دارد. کاربران root می‌توانند هر دستوری را اجرا کنند، تنظیمات سیستمی را تغییر دهند،‌ فایل‌ها را ویرایش کنند یا بدون هیچ محدودیتی هر نرم‌افزاری را نصب کنند.

کاربرد یوزر root‌ در لینوکس

کاربر روت در لینوکس به‌طور عمده برای انجام وظایف مدیریت سیستم مورد استفاده قرار می‌گیرد. کاربر “root” در لینوکس کاربر ویژه‌ای است که همه دسترسی‌ها و اختیارات را دارد. یعنی می‌تواند هر کاری که بخواهد را در سیستم انجام دهد. این کاربر به‌عنوان سرپرست سیستم شناخته می‌شود و برای انجام کارهای مهم و حساس سیستمی استفاده می‌شود. اما باید با احتیاط و دقت با آن کار کرد چون هرگونه اشتباه یا تغییر نادرست توسط root ممکن است به آسیب رساندن به سیستم بینجامد.

کاربر عادی یا استاندارد در لینوکس

کاربر عادی یا “Standard User” در لینوکس، یک کاربر معمولی است که دسترسی و اختیارات محدودتری نسبت به کاربر ویژه “root” دارد. این کاربران برای انجام کارهای روزمره و غیرحساس سیستم استفاده می‌شوند. آن‌ها نمی‌توانند تغییرات اساسی در سیستم ایجاد کنند و دسترسی محدودتری به بخش‌های حساس سیستم دارند. این محدودیت دسترسی باعث می‌شود تا سیستم لینوکس امن‌تر و پایدارتر باشد.

سطح دسترسی کاربر معمولی در لینوکس

دسترسی‌های کاربران معمولی محدود است. این کاربران نمی‌توانند اقداماتی انجام دهند که تنظیمات اصلی سیستم یا حساب‌های کاربری دیگران را تحت تأثیر قرار دهد. به عبارت دیگر، کاربران عادی دسترسی‌های محدودتری نسبت به کاربر مدیر (root) دارند و نمی‌توانند تغییرات اساسی و گسترده‌ای در سیستم ایجاد کنند.

کاربرد کاربر استاندارد در لینوکس

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

کاربر sudo در لینوکس

«کاربر Sudo» در لینوکس، کاربری است که دسترسی بیشتری نسبت به کاربران عادی دارد، اما سطح پایین‌تری را نسبت به کاربر root دارا است. این نوع کاربران می‌توانند برخی از دستورات مهم سیستم را با استفاده از دستور «sudo» اجرا کنند. اما برخلاف کاربر root که همه کارها را می‌تواند انجام دهد، دسترسی یوزرهای sudo محدودتر است و فقط به تعدادی از عملیات خاص محدود می‌شود. یعنی آن‌ها دسترسی بیشتری نسبت به کاربران معمولی دارند، اما همچنان محدودیت‌هایی برای آن‌ها وجود دارد.

سطح دسترسی کاربر sudo‌ در لینوکس

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

کاربرد کاربر sudo در لینوکس

هر دستوری که نیاز به مجوزهای root داشته باشد، باید قبل از آن عبارت «sudo» را بنویسیم و در واقع از دستور sudo‌ استفاده کنیم. در لینوکس، کاربر sudo به کاربران معمولی این امکان را می‌دهد که بتوانند برخی از دستورات مهم و حساس سیستم را اجرا کنند، بدون اینکه از سطح دسترسی کاربر root برخوردار شوند. این کمک می‌کند تا سیستم امن‌تر و پایدارتر بماند، زیرا کاربران عادی فقط به مقدار محدودی از عملیات ویژه دسترسی دارند. پیش از اجرای چنین دستوراتی، باید دستور sudo را قبل از دستور مورد نظر بنویسیم تا مجوزهای لازم را دریافت کنیم. این قابلیت، کنترل بهتری را بر روی تغییرات سیستمی ایجاد می‌کند.

کاربر سیستمی در لینوکس

«حساب‌های سیستمی» (System Account) در لینوکس، حساب‌هایی هستند که به منظور اجرای برخی سرویس‌های ضروری سیستم ایجاد می‌شوند. این حساب‌ها معمولاً به‌صورت خودکار توسط سیستم عامل ایجاد می‌شوند و در ظاهر قابل مشاهده نیستند. آن‌ها به‌جای استفاده از حساب‌های کاربری واقعی، برای اجرای فرایندهای سیستمی مورد استفاده قرار می‌گیرند. این حساب‌ها دسترسی‌های محدودی داشته و تنها برای انجام وظایف خاص خود استفاده می‌شوند.

سطح دسترسی کاربر سیستمی در لینوکس

حساب‌های کاربری برای برنامه‌ها یا خدمات خودکار که باید وظایف خاصی را در سیستم لینوکس انجام دهند. در لینوکس، حساب‌های سیستمی به جای استفاده از حساب‌های کاربری عادی، برای انجام وظایف خاص و ضروری سیستم استفاده می‌شوند. این حساب‌ها دارای دسترسی‌های محدودی هستند و تنها به مقدار لازم برای انجام کارکردهای خود، به منابع و تنظیمات سیستمی دسترسی دارند. این محدودیت دسترسی باعث افزایش امنیت و کنترل بهتر بر روی عملیات سیستم می‌شود و از سوءاستفاده احتمالی جلوگیری می‌کند.

کاربرد حساب سیستمی در لینوکس

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

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

«کاربر مهمان» (Guest User) در لینوکس، نوعی کاربر محدود است که دسترسی خیلی محدودی به سیستم دارد. این کاربران معمولاً برای استفاده موقت یا محدود از لینوکس، مثلاً برای نمایش یا آزمایش سیستم ایجاد می‌شوند.

سطح دسترسی کاربر مهمان در لینوکس

کاربران مهمان در لینوکس حساب‌های موقتی با مجوزهای محدود و کنترل شده هستند. در لینوکس، کاربر مهمان نوعی حساب کاربری موقتی است که دسترسی‌های محدودی دارد. دسترسی آن‌ها محدود به انجام کارهای خاص و معدود است. این محدودیت دسترسی باعث می‌شود تا از هرگونه سوءاستفاده احتمالی جلوگیری شده و امنیت سیستم حفظ شود. در واقع، کاربران مهمان برای استفاده موقت و کنترل شده از لینوکس در نظر گرفته می‌شوند.

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

کاربرد این نوع سطح کاربری در لینوکس مربوط به کاربرانی می‌شود که به دسترسی برای زمان محدود نیاز دارند و به فایل‌ها و تنظیمات شخصی خود نیازی ندارند.

نوع اکانت گروه‌های کاربری در لینوکس

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

سطح دسترسی گروه‌های کاربری در لینوکس

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

کاربرد User Groups در لینوکس

ادمین‌ها می‌توانند به جای مدیریت حساب‌های کاربری فردی، مجوزها را برای کل گروه کاربری مدیریت کنند. گروه‌های کاربری در لینوکس به مدیران سیستم کمک می‌کنند تا به صورت موثرتری مجوزهای دسترسی را مدیریت کنند. به جای اینکه برای هر کاربر به طور جداگانه تنظیمات دسترسی را انجام دهند، می‌توانند یک گروه کاربری تعریف کرده و همه اعضای آن گروه را با یک سری مجوزهای مشترک تعریف کنند. این امر باعث می‌شود که مدیریت دسترسی‌ها، به ویژه در سازمان‌ها و محیط‌های کاری با تعداد زیادی کاربر ساده‌تر و کاربردی‌تر شود.

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

لینوکس اطلاعات مربوط به کاربران و گروه‌ها را در فایل‌ها و دایرکتوری‌های خاصی نگهداری می‌کند. این فایل‌ها شامل اطلاعات حساب‌های کاربری، گذرواژه‌ها و پیکربندی گروه‌ها می‌شود. مدیران سیستم می‌توانند با این فایل‌ها کار کنند تا تنظیمات مربوط به کاربران و گروه‌ها را در لینوکس کنترل کنند و تغییر دهند.

در لینوکس، فایل‌ها و دایرکتوری‌های اصلی برای ذخیره اطلاعات کاربری شامل موارد زیر می‌شود:

  • /etc/passwd: این فایل لیستی از حساب‌های کاربری را شامل می‌شود و برای هر کاربر، اطلاعاتی مانند شناسه کاربری، شناسه گروه، دایرکتوری خانگی و shell پیش‌فرض را نگهداری می‌کند. اکثر کاربران می‌توانند این فایل را مشاهده کنند، اما فقط کاربر root و حساب‌های دارای دسترسی sudo می‌توانند کاربران جدید اضافه کنند یا داده‌های کاربری موجود را حذف و ویرایش کنند.
  • /etc/group: این فایل لیستی از گروه‌های کاربری را نگهداری می‌کند. هر خط در این فایل نمایانگر یک گروه و شامل نام گروه، شناسه گروه و اعضای آن گروه است. مدیران می‌توانند با این فایل تعامل داشته باشند تا تنظیمات را برای مجموعه‌ای از کاربران مدیریت کنند.
  • /etc/sudoers: در لینوکس، فایل /etc/sudoers مشخص می‌کند کدام کاربران چه سطح دسترسی‌های بالایی در چه ماشین‌هایی و برای چه دایرکتوری‌هایی دارند. مدیران می‌توانند از این فایل برای پیکربندی دسترسی‌های کاربران و گروه‌ها برای استفاده از دستور sudo استفاده کنند.
  • /etc/shadow: اطلاعات رمزگذاری‌شده گذرواژه کاربران و سایر داده‌های مربوط به گذرواژه‌ها مانند تاریخ انقضا، آخرین تغییر و تاریخ انقضای حساب را ذخیره می‌کند. این فایل فقط در دسترس کاربر root یا کاربرانی با دسترسی‌های مناسب است. محدودیت دسترسی و رمزگذاری در این فایل، لایه امنیتی دیگری را نسبت به فایل /etc/passwd فراهم می‌کند.
  • /etc/gshadow: اطلاعات رمزگذاری‌شده گذرواژه گروه‌های کاربری و سایر داده‌های مربوط به گذرواژه‌ها مانند تاریخ انقضا، آخرین تغییر و تاریخ انقضای حساب را ذخیره می‌کند. مانند فایل shadow، این فایل نیز فقط در دسترس کاربر root یا کاربرانی با دسترسی‌های مناسب است. در مقایسه با فایل /etc/passwd، محدودیت دسترسی و رمزگذاری در این فایل‌ها لایه امنیتی دیگری را به سیستم اضافه می‌کند.
  • /etc/skel: شامل اسکریپت‌های پیکربندی پیش‌فرض و قالب‌هایی مانند ‎.‎bashrc‎‎ و bash_profile است. این قالب‌ها هنگام ایجاد یک کاربر جدید به دایرکتوری home آن کاربر کپی می‌شوند، که باعث تسهیل در ایجاد حساب‌های کاربری جدید می‌شود.
  • /etc/login.defs: شامل تنظیمات سیاست‌های حساب‌های کاربری در سطح سیستم است، مانند سیاست منقضی شدن گذرواژه. مدیران سیستم می‌توانند به این فایل مراجعه کرده و آن را تغییر دهند تا قوانین امنیتی و مدیریت کاربران خاصی را اعمال کنند.

دستورات مربوط به مدیریت کاربران در لینوکس

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

بررسی کاربران لاگین شده فعلی

برای پیدا کردن کاربرانی که در حال حاضر در سیستم لینوکس لاگین شده‌اند، بهترین و کارآمدترین روش، استفاده از دستور who است. برای مشاهده لیست کاربران فعلی لاگین شده، از دستور who‌ استفاده می‌شود.

who

دستور who در لینوکس

اینجا به شما توضیح می‌دهيم که چگونه می‌توانید اطلاعات مربوط به نشست کاربر را در ستون‌های مختلف مشاهده کنید. برای نمایش عنوان هر ستون، می‌توانید از گزینه -H استفاده کنید:

who -H

عنوان‌های ستون‌ها، مفهوم داده‌های هر ستون را نشان می‌دهند.

نحوه لیست کردن تمام یوزرها

فایل /etc/passwd در سیستم‌عامل لینوکس اطلاعات همه کاربران این سیستم را نگهداری می‌کند. برای نمایش اطلاعات کاربران در ترمینال می‌توان از چند دستور لینوکسی مانند cat ،awk و getent استفاده کرد. برای لیست کردن کاربران لینوکس دستور زیر را وارد کنید:

cat /etc/passwd

سیستم تمام کاربران لینوکس را لیست می‌کند و اطلاعات اضافی مانند پوسته پیش‌فرض و دایرکتوری home هر کاربر را هم نمایش می‌دهد.

همچنین می‌توانید از دستورهای more و less برای نمایش محتویات فایل در چند صفحه استفاده کنید؛ به این ترتیب می‌توانید فهرست کاربران را جستجو و در آن پیمایش کنید.

ایجاد یوزر با دستورات useradd یا adduser

برای ایجاد یک کاربر یا همان یوزر جدید در لینوکس از دستور useradd استفاده می‌شود. این دستور نیاز به دسترسی root یا sudo دارد.

برای افزودن یک کاربر جدید از دستور زیر استفاده کنید:

sudo useradd test_account

این دستور کاربر جدیدی با نام test_account ایجاد می‌کند. سیستم هیچ خروجی نمایش نمی‌دهد.

برای اطمینان از ایجاد شدن کاربر جدید، می‌توانید از دستور cat برای بررسی محتوای فایل /etc/passwd استفاده کنید.

برای افزودن کاربر به روش تعاملی، می‌توانید از دستور adduser استفاده کنید. این دستور به صورت خودکار یک دایرکتوری home برای کاربر ایجاد می‌کند، یک پوسته پیش‌فرض تنظیم می‌کند و از کاربر می‌خواهد رمز عبور برای خود ایجاد کند. برای ایجاد یک حساب کاربری فعال در لینوکس، دستور زیر را اجرا کنید:

sudo adduser test_account2

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

ایجاد تغییر در تنظیمات کاربر با دستور usermod

در لینوکس از دستور usermod برای تغییر مشخصات حساب کاربری استفاده می‌شود. ادمین‌ها می‌توانند با استفاده از آپشن‌های مختلف این دستور، اطلاعات کاربر را به روز کنند:

  • -d : تغییر دایرکتوری home کاربر
  • -s : تغییر پوسته پیشفرض کاربر
  • -e : تنظیم تاریخ انقضای حساب کاربری
  • -c : افزودن توضیحات به ورودی کاربر
  • -u : تغییر شناسه کاربری (UID)
  • -aG : افزودن کاربر به گروه‌های تکمیلی بدون حذف عضویت‌های قبلی

این دستور به شما امکان می‌دهد تا محل دایرکتوری home یک کاربر را تغییر دهید. در اینجا گزینه -d برای تغییر محل دایرکتوری home کاربر به /var/test_account استفاده شده است:

sudo usermod -d /var/test_account test_account

در این مثال، دایرکتوری خانگی کاربر test_account از /home/test_account به /var/test_account تغییر داده شده است.

حذف کردن حساب کاربری در لینوکس با userdel

دستور userdel برای حذف یک کاربر از فایل /etc/passwd استفاده می‌شود. به عنوان مثال، برای حذف کاربر test_account2، دستور زیر را وارد کنید:

sudo userdel test_account2

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

برای پاک کردن کامل یک کاربر، از گزینه -r (یعنی recursive) در دستور userdel استفاده کنید. این گزینه علاوه بر حذف کاربر از فایل‌های سیستمی، پوشه خانگی و صندوق پستی آن کاربر را نیز پاک می‌کند. به عنوان مثال، برای پاک کردن کامل کاربر test_account2، دستور زیر را اجرا می‌کنیم:

sudo userdel -r test_account2

معمولاً سیستم عامل لینوکس هنگام حذف کاردن یک کاربر، خروجی یا پیغامی مبنی بر انجام شدن این عملیات نمایش نمی‌دهد. این کار به صورت خاموش انجام می‌شود و شما باید خودتان اطمینان حاصل کنید که کاربر مورد نظر حذف شده است.

دستورات مدیریت گروه‌های کاربری در لینوکس

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

ایجاد گروه کاربری

ایجاد یک گروه کاربری جدید در لینوکس به صورت زیر انجام می‌شود:

sudo groupadd test_group

به جای test_group، نام گروهی که می‌خواهید ایجاد کنید را وارد کنید. سپس برای اطمینان از ایجاد شدن گروه جدید در فایل /etc/group، دستور زیر را اجرا کنید.

getent group test_group

دستور getent group test_group به شما اطلاعات مربوط به گروه test_group مانند نام و شناسه (ID) این گروه را نشان می‌دهد.

چطور اعضا را به گروه اضافه یا از گروه حذف کنیم؟

در لینوکس، وقتی یک کاربر را به یک گروه اضافه می‌کنیم، به طور خودکار تمام مجوزهای مرتبط با آن گروه نیز به کاربر اعطا می‌شود. در سیستم‌های مبتنی بر Debian، می‌توانیم از دستور adduser برای اضافه کردن یک کاربر به یک گروه موجود استفاده کنیم:

sudo adduser test_account test_group

سیستم عامل لینوکس پس از اجرای دستور اضافه کردن کاربر به گروه، تأیید انجام این عملیات را نشان می‌دهد.

برای افزودن یک کاربر به یک گروه موجود بدون اینکه آن را از گروه‌های فعلی خود خارج کنیم، می‌توانیم از گزینه‌های -a (append) و -G (groups) در دستور usermod استفاده کنیم:

sudo usermod –aG test_group test_account2

برای بررسی اینکه آیا کاربر به گروه مورد نظر اضافه شده است یا خیر، می‌توان از دستور groups استفاده کرد:

groups test_account

برای حذف یک کاربر از یک گروه خاص در لینوکس، می‌توان از دستور deluser استفاده کرد:

sudo deluser test_account test_group

سیستم عامل پس از اجرای دستور حذف کاربر از گروه، تأیید انجام این عملیات را نشان می‌دهد.

چطور تمام گروه‌هایی که کاربر در آن‌ها عضو است را نمایش دهیم؟

برای مشاهده لیست گروه‌هایی که یک کاربر خاص در آن‌ها عضویت دارد، از دستور id استفاده می‌کنیم:

id test_account

برای اینکه دستور id فقط نام گروه‌ها را به جای شناسه‌های عددی آن‌ها نمایش دهد، از گزینه‌های -n و -G استفاده می‌کنیم:

id -nG test_account

این دستور همه گروه‌هایی که یک کاربر عضو آن‌ها است را شامل گروه اصلی و گروه‌های اضافی (تکمیلی) کاربر نمایش می‌دهد.

لیست کردن تمام گروه‌ها و اعضا

اطلاعات مربوط به گروه‌های کاربران در فایل /etc/group لینوکس ذخیره شده است. برای مشاهده نام تمام گروه‌های کاربری، شناسه‌های گروه و اعضای هر گروه، می‌توانید دستور زیر را اجرا کنید:

getent group

می‌توان از ابزارهایی مثل awk برای پردازش خروجی دستور getent group و استخراج اعضای گروه‌های مختلف استفاده کرد.

getent group | awk -F: ‘$4 != “” {print $1 “: ” $4}’

این دستور فقط گروه‌هایی که دارای اعضا هستند را نمایش می‌دهد و اسامی اعضای هر گروه را با جدا کننده ویرگول (,) به همراه نام گروه چاپ می‌کند. در اینجا awk برای تجزیه و تحلیل خروجی دستور getent group استفاده شده است. پارامتر -F: به awk می‌گوید که از کاراکتر : به عنوان جداکننده فیلدها استفاده کند. شرط $4 != "" باعث می‌شود که فقط گروه‌هایی با اعضا نمایش داده شوند.

جمع‌بندی

شما اکنون انواع حساب‌های کاربری در لینوکس را درک کرده‌اید، از جمله نقش‌ها، سطوح دسترسی و مجوزهای مربوطه. با استفاده از این اطلاعات، می‌توانید کاربران و گروه‌ها را به طور موثر مدیریت کرده و از بروز مشکلات امنیتی و عملیاتی جلوگیری کنید. همچنین می‌توانید به راهنمای جامع فرمان‌های لینوکس ما مراجعه کنید که شامل یک فایل چک لیست مفید جهت کمک به شما در انجام وظایف روزانه است.

مطالب مرتبط

دیدگاهتان را بنویسید

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