مدیریت کاربران، یکی از مهمترین بخشهای امنیتی در سیستم عامل لینوکس است؛ زیرا کنترل سطح دسترسی کاربران به فایلها و برنامههای لینوکس، نقش برجستهای در تامین امنیت و عملکرد صحیح سیستم دارد. بر همین اساس، در این مقاله از آموزش لینوکس قصد داریم به بررسی نحوه ایجاد، مدیریت و کنترل کاربران در لینوکس بپردازیم.
ابتدا مفاهیم پایهای مثل کاربر، گروه و مالکیت فایل را توضیح میدهیم. سپس روشهای ایجاد کاربر جدید و انتساب او به گروههای موردنظر را شرح میدهیم. در ادامه به مدیریت گذرواژهها، محدود کردن دسترسیها و اعمال سیاستهای امنیتی پرداخته و در نهایت نکاتی درباره نظارت و گزارشگیری فعالیتهای کاربران ارائه میکنیم.
معرفی مفاهیم پایهای (کاربر – گروه – مالکیت فایل)
پیش از آنکه به توضیح نحوه مدیریت کاربران در لینوکس بپردازیم، لازم است با برخی مفاهیم پایهای آشنا شویم:
کاربر (User)
هر شخصی که به سیستم لینوکس وارد میشود بهعنوان یک کاربر شناخته میشود. هر کاربر با یک نام کاربری (Username) منحصر به فرد معرفی میشود. همچنین هر کاربر دارای اطلاعات مربوط به خود است که در سیستم ذخیره میشود. این اطلاعات شامل نام کاربری، رمز عبور، شناسه کاربری (UID)، شناسه گروهی (GID)، توضیحات کاربر، دایرکتوری خانگی (Home Directory) و برنامه پیشفرض شل (Shell) است.
- نام کاربری (Username): نامی است که برای ورود به سیستم استفاده میشود.
- شناسه کاربری (UID): عددی است که به هر کاربر اختصاص داده میشود و سیستم از آن برای شناسایی کاربران استفاده میکند.
- دایرکتوری خانگی: پوشهای است که فایلها و پوشههای شخصی کاربر در آن قرار دارند.
- برنامه شل (Shell): محیطی است که کاربر برای اجرای دستورات در آن قرار میگیرد.
گروه (Group)
مجموعهای از کاربران با ویژگی مشترک که تحت یک نام گروهی واحد قرار میگیرند؛ مثلا کاربرانی که دسترسی مشابهی به فایلها و برنامهها دارند، در یک گروه قرار میگیرند.
هر کاربر میتواند عضو یک یا چند گروه باشد. گروهها این امکان را به مدیران سیستم میدهند که دسترسیهای گروهی را بهجای تنظیم دسترسیها برای هر کاربر بهصورت جداگانه، مدیریت کنند.
مشابه با UID، هر گروه دارای یک GID است که سیستم برای شناسایی گروهها از آن استفاده میکند.
مالکیت فایل (File Ownership)
هر فایل و دایرکتوری در لینوکس یک مالک اصلی (Owner) و یک گروه دارد. مالک فایل میتواند سطح دسترسیهای فایل را برای سایر کاربران و گروهها تنظیم کند.
هر فایل و دایرکتوری دارای ۳ نوع مالکیت است: مالک (Owner)، گروه (Group) و دیگران (Others). این مفهوم برای تعیین اینکه چه کسی میتواند به فایل یا دایرکتوری دسترسی داشته باشد، استفاده میشود.
- مالک: کاربری که فایل یا دایرکتوری را ایجاد کرده است.
- گروه: کاربرانی که عضو گروه مرتبط با فایل یا دایرکتوری هستند.
- دیگران: همه کاربران دیگری که نه مالک هستند و نه عضو گروه مرتبط.
دسترسیها به فایلها و دایرکتوریها بر اساس این ۳ دسته تعیین میشوند و شامل خواندن (Read)، نوشتن (Write) و اجرا (Execute) هستند.
آموزش گام به گام نحوه ایجاد یک حساب کاربری جدید، از طریق خط فرمان
ایجاد حساب کاربری و بسیاری از اقدامات دیگر از طریق دستورات لینوکس انجام میشود. برای ایجاد یک حساب کاربری جدید در لینوکس از طریق خط فرمان، مراحل زیر را بهترتیب دنبال کنید:
۱. با دستور «sudo su» وارد حساب root شوید.
۲. برای ایجاد کاربر جدید، دستور adduser را وارد کنید. مثال:
1 | adduser ali |
۳. در بخش روت لینوکس، سیستم از شما میخواهد یک رمز عبور برای کاربر جدید تعیین کنید. رمز موردنظرتان را وارد و تایید نمایید.
۴. در این مرحله میتوانید اطلاعاتی مانند نام کامل، شماره تماس و آدرس را وارد کنید. وارد کردن این اطلاعات اختیاری است.
با تکمیل این مراحل، یک حساب کاربری جدید در لینوکس ایجاد میشود.
نکته: برای تغییر رمز عبور میتوانید از دستور «passwd» استفاده کنید.
سطوح دسترسی مختلف و نحوه تنظیم آنها برای کاربران
در لینوکس سطوح دسترسی مختلفی برای کنترل امتیازات کاربران وجود دارد. مهمترین آنها عبارتند از:
- صاحب (Owner): صاحب یا مالک فایل یا دایرکتوری، حق خواندن، نوشتن و اجرای آن را دارد.
- گروه (Group): اعضای گروه صاحب فایل، معمولا حق خواندن و اجرای فایل را دارند.
- دیگران (Others): سایر کاربرانی که در دو دسته قبلی قرار ندارند.
برای تنظیم سطوح دسترسی از دستور «chmod» استفاده میشود. بهعنوان مثال:
1 | chmod 755 file.txt |
این دستور به صاحب فایل حق خواندن، نوشتن و اجرا میدهد. همچنین به اعضای گروه حق خواندن و اجرا و به دیگران حق خواندن میدهد.
در مجموع با ترکیب اعداد ۰ تا ۷، انجام تنظیمات سطوح دسترسی برای صاحب، گروه و دیگران قابل تعیین است.
آموزش ایجاد و مدیریت گروههای کاربری و اهمیت آنها در مدیریت دسترسیها
گروههای کاربری نقش برجستهای در مدیریت دسترسیها و امتیازات کاربران در لینوکس دارند. بهطوری که استفاده از گروهها به شما این امکان را میدهد که بهراحتی امتیازات یکسانی را به تعداد زیادی از کاربران اعطا کنید، بهویژه در مواردی که چندین کاربر باید به منابع مشترک دسترسی داشته باشند.
مشاهده گروههای موجود
پیش از آنکه یک گروه جدید بسازید، ممکن است بخواهید بدانید که در حال حاضر چه گروههایی در سیستم وجود دارند. برای این کار، میتوانید از دستور زیر استفاده کنید:
1 | getent group |
با این دستور میتوانید لیست تمام گروههای موجود در سیستم را مشاهده کنید.
ایجاد یک گروه جدید
اما برای ایجاد یک گروه جدید، از دستور «groupadd» استفاده میشود. مثال:
1 | groupadd developers |
این دستور یک گروه جدید به نام «developers» را ایجاد میکند.
اضافه کردن کاربران به گروه
در اینجا میتوانید کاربران مورد نظر را به گروهی که ساخته بودید اضافه کنید. برای مثال، اگر میخواهید کاربر ali را به گروه developers اضافه کنید، از دستور زیر استفاده کنید:
1 | usermod -a -G developers ali |
در این دستور، «-a» به معنای اضافه کردن و «-G» برای مشخص کردن گروه است.
تنظیم دسترسیهای مورد نیاز
پس از اضافه کردن کاربران، میتوانید دسترسیهای مورد نیاز را برای گروه تنظیم کنید. بهعنوان مثال، برای صدور اجازه خواندن و نوشتن در پوشه مشترک دستور زیر را وارد کنید:
1 | chmod -R 770 /shared-folder |
در این دستور، 770 به این معنی است که مالک گروه و اعضای آن میتوانند فایلها را بخوانند، بنویسند و اجرا کنند، در حالی که سایر کاربران هیچ دسترسیای ندارند.
بدین ترتیب با ایجاد گروه و اضافه کردن کاربران به آن، مدیریت دسترسیها بسیار سادهتر خواهد بود.
چند ترفند طلایی برای تغییر و بازیابی رمز عبور کاربران در مواقع ضروری
اگر میخواهید رمز عبور کاربران را تغییر دهید یا در مواقع ضروری آنها را بازیابی کنید، ترفندهایی وجود دارد که بهکارگیری آنها میتواند کمککننده باشد:
- تغییر رمز عبور توسط کاربر
کاربران میتوانند رمز عبور خود را با استفاده از دستور «passwd» تغییر دهند. این روش ساده و مستقیم است و بعد از وارد کردن آن، سیستم از کاربر میخواهد که رمز عبور فعلی و سپس رمز عبور جدید را وارد کند.
- تغییر رمز عبور توسط مدیر سیستم (Root)
مدیر سیستم میتواند رمز عبور هر کاربری را تغییر دهد. برای این کار، ابتدا باید به حساب کاربری روت (Root) وارد شوید و سپس از دستور passwd به همراه نام کاربری استفاده کنید:
1 | [sudo passwd [username |
بهجای عبارت [username]، نام کاربری مورد نظرتان را وارد کنید.
- بازیابی رمز عبور فراموش شده
اگر رمز عبور یک کاربر فراموش شود، مدیر سیستم میتواند با استفاده از حساب کاربری روت، رمز عبور آن کاربر را بازنشانی کند. این کار با استفاده از دستور passwd انجام میشود:
1 | [sudo passwd [username] |
بعد از اینکه این دستور را وارد کردید، سیستم از شما میخواهد که رمز عبور جدید را برای کاربر انتخاب و آن را وارد کنید.
- استفاده از دیسک نجات برای بازیابی رمز عبور
دیسک نجات در زمینه کامپیوتر و سیستمهای عامل، به یک رسانه قابل بوت (مانند یک CD ،DVD یا USB) اشاره دارد که حاوی ابزارها و برنامههایی برای تعمیر یا بازیابی سیستمهای کامپیوتری آسیبدیده یا غیرقابل دسترس است. در لینوکس، یک دیسک نجات میتواند برای بازیابی رمز عبور، تعمیر سیستم فایلها، بازیابی دادهها و انجام تعمیرات دیگر استفاده شود.
در مواقعی که دسترسی به حساب کاربری روت نیز ممکن نیست، میتوانید از یک دیسک نجات لینوکس استفاده کنید. با بوت کردن سیستم از دیسک نجات، میتوانید به فایلهای سیستم دسترسی پیدا کنید و رمز عبور را بازنشانی کنید.
- تنظیم رمز عبور موقت
هنگام بازنشانی رمز عبور برای یک کاربر، برای افزایش امنیت میتوانید یک رمز عبور موقت تنظیم کنید و به کاربر توصیه کنید که پس از ورود به سیستم، بلافاصله رمز عبور خود را تغییر دهد.
- استفاده از ابزارهای مدیریتی برای بازیابی رمز عبور
در محیطهای سازمانی، برای مدیریت و بازیابی رمز عبورها میتوانید از ابزارهای مدیریتی مانند LDAP یا Active Directory استفاده کنید. این ابزارها امکان مدیریت متمرکز رمز عبورها را برای شما فراهم میکنند.
- توجه به امنیت رمز عبور
هنگام تغییر یا بازیابی رمز عبور، همیشه به امنیت آن توجه داشته باشید. از ارسال رمز عبورها از طریق ایمیل یا پیامهای متنی خودداری کنید و اطمینان حاصل کنید که رمز عبورهای جدید قوی و امن هستند.
با استفاده از این روشها، مدیران شبکه میتوانند در مواقع ضروری، رمزهای عبور کاربران را بازنشانی کرده و دوباره تعیین نمایند. این کار علاوهبر تسهیل بازیابی و تغییر رمزها، با اجبار کاربران به تغییر مکرر رمز عبور، از افشای رمزهای عبور قدیمی جلوگیری کرده و امنیت سیستم را افزایش میدهد.
نکات امنیتی که باید در مدیریت کاربران لینوکس رعایت کنیم
هنگام ایجاد گروهها و اختصاص دسترسیها، مهم است که به جنبههای امنیتی توجه داشته باشید. مطمئن شوید که دسترسیهای اعطایی متناسب با نیازهای واقعی کاربران باشد و از اعطای دسترسیهای بیش از حد به کاربران یا گروهها خودداری کنید. در همین راستا، چند نکته امنیتی اساسی وجود دارد که باید در مدیریت کاربران لینوکس رعایت کنید:
- از رمز عبور قوی استفاده کنید.
مطمئن شوید که کاربران از رمز عبورهای قوی و منحصر به فرد استفاده میکنند. برای این کار:
- انتخاب ترکیبی از حروف بزرگ و کوچک، اعداد و نمادها را به آنها توصیه کنید.
- از کاربران بخواهید بهطور منظم رمز عبور خود را تغییر دهند.
- دسترسیهای کاربر را محدود کنید.
تنها حداقل دسترسیهای لازم برای انجام وظایف را به کاربر بدهید و از اعطای دسترسیهای روت (root) یا مدیریتی به کاربران عادی خودداری کنید.
- از سیاستهای امنیتی قدرتمند استفاده کنید.
برای استفاده از سیستم و دسترسی به دادهها از سیاستهای امنیتی پیشرفته استفاده کنید و در مورد اهمیت رعایت این سیاستها کاربران را آموزش دهید.
- بر فعالیتهای کاربران نظارت داشته باشید و آنها را ثبت کنید.
از ابزارهای نظارت برای ثبت فعالیتهای کاربران استفاده کنید و برای شناسایی هرگونه فعالیت مشکوک بهطور منظم گزارشها را بررسی کنید.
- بهروزرسانیهای امنیتی را انجام دهید.
مطمئن شوید که سیستم عامل و نرمافزارها همیشه بهروز هستند. برای این کار، بهروزرسانیهای امنیتی را به محض انتشار اعمال کنید.
- از سیستمهای تایید هویت چند عاملی استفاده کنید.
برای افزایش امنیت، از تایید هویت چند عاملی (MFA) استفاده کنید.
- عملیات پشتیبانگیری و بازیابی را انجام دهید.
بهطور منظم از دادهها پشتیبانگیری کنید و در صورت بروز حوادث امنیتی برنامهای برای بازیابی دادهها داشته باشد.
با انجام این ۷ روش، مدیریت دسترسیها در لینوکس به شکلی سازمانیافته و امن انجام میشود و شما میتوانید بهراحتی کنترل کنید که چه کسی به چه منابعی دسترسی دارد.
مدیریت کاربران در لینوکس، کلیدی برای امنیت و کارایی بینظیر
مدیریت کاربران در لینوکس نه تنها یک مهارت بنیادی برای مدیران سیستم بهشمار میرود، بلکه عنصری حیاتی در تضمین امنیت و بهرهوری سیستمهای لینوکسی است. ایجاد و مدیریت صحیح حسابهای کاربری، اطمینان از تنظیم درست کنترل دسترسی و به اشتراکگذاری امن منابع، از جمله مهارتهای کلیدیای هستند که نه تنها امنیت بلکه قابلیت مدیریت پیشرفتهتر سیستمها را نیز ارتقا میبخشند.