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

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

با درک جنبه های مختلف مدیریت کاربر، که شامل ایجاد، اصلاح و حذف حساب های کاربری، اجرای احراز هویت کاربر است. با پیروی از بهترین شیوه های مدیریت کاربر، CTechCo می تواند امنیت و بهره وری سیستم های لینوکس خود را تضمین کند.

فهرست مطالب

  • کاربران در لینوکس چیست؟
  • انواع کاربران در لینوکس
  • ویژگی های حساب کاربری
  • نحوه ایجاد کاربران
  • نحوه حذف کاربران
  • نحوه اصلاح حساب های کاربری
  • مدیریت رمز عبور
  • مدیریت گروه
  • احراز هویت کاربر
  • بهترین روش ها برای مدیریت کاربر در لینوکس
  • اصل کمترین امتیاز
  • مجوزهای کاربر
  • نظارت و حسابرسی
  • آموزش کاربر
  • نتیجه

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

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

یک کاربر در لینوکس با یک حساب کاربری مرتبط است که شامل چندین ویژگی است که هویت و امتیازات آنها را در سیستم تعریف می کند. این ویژگی ها عبارتند از نام کاربری، UID (شناسه کاربر)، GID (شناسه گروه)، فهرست اصلی، پوسته پیش فرض و رمز عبور.

هر حساب کاربری دارای ویژگی های منحصر به فرد ذکر شده در بالا است.

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

لینوکس از دو نوع کاربر پشتیبانی می کند: کاربران سیستمی و کاربران عادی.

کاربران سیستم در حین نصب توسط سیستم ایجاد می شوند و برای اجرای سرویس ها و برنامه های سیستم استفاده می شوند.

کاربران معمولی توسط مدیر ایجاد می شوند و می توانند بر اساس مجوزهای خود به سیستم و منابع آن دسترسی داشته باشند.

بیایید با نیروی کار متنوع CTechCo، متشکل از افرادی که از طریق حساب های کاربری با سیستم لینوکس تعامل دارند، آشنا شویم. با جان، یک توسعه دهنده آشنا شوید. لیزا، مدیر سیستم؛ و سارا، یک مدیر بازاریابی. هر کدام به ترتیب نام های کاربری منحصر به فردی مانند “johndoe”، “lisasmith” و “sarahsmith” دارند. این نام های کاربری به عنوان شناسه آنها در سیستم لینوکس عمل می کنند.

نحوه ایجاد کاربران

مدیر سیستم CTechCo، Alex، باید حساب های کاربری برای جان، لیزا و سارا ایجاد کند. الکس فرآیند را با استفاده از useradd فرمان به عنوان مثال، برای ایجاد حساب جان، الکس دستور زیر را اجرا می کند:

useradd -u 1002 -d /home/john -s /bin/bash john

این دستور اکانت جان را با uid (-u) به عنوان 1002، فهرست اصلی (-d) مانند /خانه/جان و مجموعه (-s) /bin/bash به عنوان پوسته پیش فرض او.

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

الکس می‌تواند حساب کاربری جدید را با اجرای آن تأیید کند id دستور:

id john

با این کار شناسه کاربری و عضویت های گروه برای کاربر “جان” نمایش داده می شود.

آید جان
اطلاعات uid، gid و گروه‌ها برای کاربر جان

ویژگی های حساب کاربری

در محیط لینوکس CTechCo، حساب های کاربری دارای ویژگی های مختلفی هستند که ویژگی ها و امتیازات دسترسی آنها را مشخص می کند. بیایید این ویژگی ها را در زمینه مورد استفاده خود بررسی کنیم.

  1. نام کاربری: به هر کاربر یک نام کاربری منحصر به فرد اختصاص داده می شود که به عنوان شناسه آنها در سیستم لینوکس عمل می کند. به عنوان مثال، نام کاربری جان “جان” است.
  2. UID (شناسه کاربری) و GID (شناسه گروه): هر حساب کاربری با یک UID و GID مرتبط است. UID یک مقدار عددی است که به کاربر اختصاص داده شده است، در حالی که GID نشان دهنده گروه اصلی است که کاربر به آن تعلق دارد. به عنوان مثال، John’s UID ممکن است باشد 1002, و GID گروه اولیه او است 1002 همچنین.
  3. فهرست خانه: هر کاربر یک فهرست اصلی مشخص دارد که فایل ها و تنظیمات شخصی او در آن قرار دارند. فهرست خانه جان است /خانه/جان.
  4. پوسته پیش فرض: پوسته پیش‌فرض مفسر دستوری را که هنگام ورود کاربر استفاده می‌شود، تعیین می‌کند. محیط تعاملی کاربر را تعریف می‌کند. در مورد ما، پوسته پیش فرض جان روی تنظیم شده است /bin/bashکه یک پوسته محبوب در لینوکس است.
  5. کلمه عبور: حساب های کاربری برای احراز هویت و دسترسی به سیستم نیاز به رمز عبور دارند. کاربران CTechCo، از جمله جان، باید رمزهای عبور قوی برای اطمینان از امنیت ایجاد کنند.
  6. گروه: عضویت در گروه تعیین می کند که کاربر به چه منابع سیستمی می تواند دسترسی داشته باشد و همچنین کاربرانی که می توانند به فایل های کاربر دسترسی داشته باشند.

الکس می‌تواند با اجرای آن به کاربران لینوکس نگاهی بیندازد cat /etc/passwd فرمان کاربران در این فرمت نمایش داده می شوند:

john:x:1002:1002:,,,:/home/john:/bin/bash

در اینجا هر یک از فیلدها در قالب بالا نشان دهنده چیزی است:

  • john: این نام کاربری حساب کاربری است.
  • x: این فیلد حاوی رمز عبور رمزگذاری شده کاربر است. با یک کاراکتر “x” جایگزین می شود تا نشان دهد رمز عبور در آن ذخیره شده است /etc/shadow به دلایل امنیتی پرونده
  • 1002: این UID (User ID) حساب کاربری است که یک شناسه عددی منحصر به فرد است که توسط سیستم به کاربر اختصاص داده شده است.
  • 1002: این GID (شناسه گروه) حساب کاربری است که نشان دهنده عضویت گروه اصلی کاربر است.
  • ,,,: این فیلد GECOS است که مخفف عبارت General Electric Comprehensive Operating System است. این فیلد برای ذخیره اطلاعات اضافی درباره کاربر، مانند نام کامل یا اطلاعات تماس، استفاده می شود. در این حالت، فیلد خالی است، زیرا هنگام ایجاد حساب کاربری اطلاعات اضافی ارائه نشده است.
  • /home/john: این دایرکتوری اصلی حساب کاربری است که محل ذخیره فایل ها و داده های شخصی کاربر است.
  • /bin/bash: این پوسته پیش فرض حساب کاربری است که مفسر دستوری است که برای پردازش دستورات وارد شده توسط کاربر در ترمینال استفاده می شود. در این مورد، پوسته پیش فرض Bash است که پرکاربردترین پوسته در لینوکس است.
پیشنهاد می‌کنیم بخوانید:  چگونه باینری های Go با پیوند ایستا و پویا کار می کنند

نحوه حذف کاربران

بیایید فرض کنیم که لیزا CTechCo را ترک کرده است. برای حذف حساب و فایل های مرتبط، الکس باید از آن استفاده کند userdel فرمان به عنوان مثال، برای حذف حساب لیزا، الکس اجرا می کند:

sudo userdel lisa

با این کار حساب کاربری برای حذف خواهد شد lisa، به همراه فهرست اصلی آنها و هر فایل یا دایرکتوری متعلق به کاربر.

نحوه اصلاح حساب های کاربری

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

به عنوان مثال، به جان (توسعه‌دهنده)، مسئولیت‌های اضافی در شرکت محول می‌شود. برای انعکاس این تغییر، تیم فناوری اطلاعات می‌تواند حساب جان را با استفاده از usermod فرمان بیایید سناریوی زیر را در نظر بگیریم:

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

CTechCo یک گروه جدید به نام ایجاد می کند development برای مدیریت دسترسی به منابع مرتبط با توسعه برای اضافه کردن جان به development گروه، دستور زیر را می توان استفاده کرد:

sudo usermod -aG development john

این دستور John را به دستور اضافه می کند development گروه، به او امتیازات دسترسی لازم را می دهد.

نحوه تغییر پوسته پیش فرض در لینوکس

در موردی که جان ترجیح می دهد از پوسته ای متفاوت غیر از حالت پیش فرض استفاده کند /bin/bash پوسته. تیم فناوری اطلاعات می تواند حساب کاربری او را بر این اساس تغییر دهد. به عنوان مثال، برای تغییر پوسته پیش فرض John به /bin/zsh، می توان از دستور زیر استفاده کرد:

sudo usermod -s /bin/zsh john

این دستور حساب جان را برای استفاده از پوسته پیش فرض جدید به روز می کند – /bin/zsh.

می توانید اجرا کنید cat /etc/passwd دوباره ببینید که پوسته جان تغییر کرده است /bin/bash به /bin/zsh.

zsh

مدیریت گروه

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

نحوه ایجاد یک گروه جدید در لینوکس

برای ایجاد یک گروه جدید، مانند marketing گروه، دستور زیر را می توان استفاده کرد:

sudo groupadd marketing

دستور بالا باعث ایجاد marketing گروه، که می تواند برای اعطای مجوزهای خاص و دسترسی به منابع مرتبط با بازاریابی استفاده شود.

برای مشاهده گروهی که به تازگی اضافه کرده اید، دستور زیر را اجرا کنید:

cat /etc/group

این همه گروه‌ها را در دستگاه لینوکس شما برمی‌گرداند و وقتی به پایین بروید، می‌توانید جدیدترین گروه‌ها را پیدا کنید.

گروه لینوکس

همچنین می توانید از دستور برای برگرداندن یک گروه خاص استفاده کنید (marketing در مورد ما):

cat /etc/group | grep marketing

نحوه اختصاص دادن کاربران به گروه ها در لینوکس

پس از ایجاد یک گروه، کاربران می توانند به آن اضافه شوند. به عنوان مثال، برای اضافه کردن سارا (مدیر بازاریابی) به marketing گروه، دستور زیر را می توان استفاده کرد:

sudo usermod -aG marketing sarahsmith

این دستور سارا را به دستور اضافه می کند marketing گروه، او را قادر می سازد تا به منابع مرتبط با آن گروه دسترسی داشته باشد.

مدیریت رمز عبور

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

تنظیم سیاست های رمز عبور: تیم فناوری اطلاعات می‌تواند خط‌مشی‌های رمز عبور را برای اعمال گذرواژه‌های قوی، از جمله الزامات پیچیدگی، انقضای رمز عبور، و قفل کردن حساب، ایجاد کند. این سیاست ها را می توان در پیکربندی کرد /etc/login.defs فایل.

تغییر رمز عبور کاربران: کاربران باید تشویق شوند که رمز عبور خود را به صورت دوره ای تغییر دهند. آنها می توانند این کار را با استفاده از passwd فرمان به عنوان مثال، جان می تواند رمز عبور خود را با دستور زیر تغییر دهد:

sudo passwd john

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

احراز هویت کاربر

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

احراز هویت مبتنی بر رمز عبور

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

به عنوان مثال، جان با وارد کردن نام کاربری و رمز عبور خود در اعلان ورود به سیستم وارد می شود. سپس سیستم رمز عبور ارائه شده را در برابر هش رمز ذخیره شده مرتبط با حساب جان تأیید می کند.

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

احراز هویت مبتنی بر کلید پوسته ایمن (SSH) جایگزین ایمن تری برای احراز هویت مبتنی بر رمز عبور ارائه می دهد. کاربران یک جفت کلید عمومی-خصوصی تولید می کنند که در آن کلید عمومی در سرور ذخیره می شود و کلید خصوصی به طور ایمن در دستگاه کاربر نگهداری می شود.

با احراز هویت مبتنی بر کلید SSH، کاربرانی مانند لیزا، مدیر سیستم در CTechCo، می‌توانند بدون وارد کردن رمز عبور احراز هویت کنند. در عوض، سرور هویت کاربر را بر اساس داشتن کلید خصوصی تأیید می کند.

پیشنهاد می‌کنیم بخوانید:  روش تغییر مجوزها و مالکان در لینوکس با استفاده از خط فرمان

برای پیکربندی احراز هویت مبتنی بر کلید SSH برای Lisa، مراحل زیر را می توان انجام داد:

  1. یک جفت کلید SSH در دستگاه لیزا با استفاده از ssh-keygen فرمان
  2. کلید عمومی را در سرور کپی کنید /home/lisasmith/.ssh/authorized_keys فایل.
  3. سرور را پیکربندی کنید تا احراز هویت مبتنی بر کلید SSH مجاز باشد.

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

برای اطمینان از امنیت و کارایی مدیریت کاربر در لینوکس، CTechCo می‌تواند چندین بهترین روش را دنبال کند. این شیوه ها خطرات امنیتی را به حداقل می رساند و فرآیند کلی مدیریت را بهبود می بخشد.

اصل کمترین امتیاز

اصل حداقل امتیاز (PoLP) یک مفهوم اساسی در مدیریت کاربر است. بیان می کند که کاربران فقط باید حداقل امتیازات لازم را برای انجام موثر وظایف خود داشته باشند.

CTechCo می تواند PoLP را برای محدود کردن دسترسی کاربر و کاهش تأثیر نقض احتمالی امنیتی اعمال کند. به عنوان مثال، به جان با استفاده از امتیازات اداری اعطا می شود sudo فقط زمانی که برای کارهای خاص لازم است فرمان دهید. با اجرای دستور زیر، جان می تواند دستوراتی را با مجوزهای بالا اجرا کند:

sudo command

مجوزهای کاربر

تیم فناوری اطلاعات CTechCo می‌تواند مجوزهای مناسبی را برای کنترل دسترسی به فایل‌ها، فهرست‌ها و منابع به کاربران و گروه‌ها اختصاص دهد. آنها می توانند استفاده کنند chmod دستور برای تنظیم مجوزها برای فایل ها و دایرکتوری ها، مانند مجوزهای خواندن، نوشتن و اجرا برای مالک، گروه و دیگران.

به عنوان مثال، برای اعطای مجوزهای خواندن و نوشتن به مالک و مجوزهای فقط خواندنی به گروه و دیگران، می توان از دستور زیر استفاده کرد:

chmod 640 filename

برای مشاهده مجوزهای فایل، می توانید از ls -l فرمان با این کار مجوزهای فایل در قالب زیر نمایش داده می شود:

-rw-r--r-- 1 username username 0 Apr 5 11:24 filename.txt

در قالب بالا، سه کاراکتر اول مجوزهای فایل را برای صاحب فایل نشان می‌دهند.

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

سه کاراکتر آخر نشان دهنده مجوزها برای سایر کاربران است.

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

نظارت و حسابرسی

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

برای مثال، تیم فناوری اطلاعات می‌تواند ممیزی را برای نظارت بر فایل‌ها و دایرکتوری‌های مهم سیستم و همچنین ورود به سیستم کاربر و دستورات مدیریتی پیکربندی کند.

همچنین برای مشاهده لاگ های سیستم در لینوکس، الکس می تواند از tail فرمان به عنوان مثال، برای مشاهده 10 خط آخر فایل log سیستم، می توانید از دستور زیر استفاده کنید:

sudo tail /var/log/syslog

آموزش کاربر

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

علاوه بر این، آنها می توانند کاربران را تشویق کنند تا هرگونه فعالیت مشکوک یا رویداد امنیتی را به سرعت گزارش کنند و فرهنگ آگاهی و مسئولیت امنیتی را تقویت کنند.

با رعایت این بهترین شیوه ها، CTechCo می تواند یک فرآیند مدیریت قوی کاربر را تضمین کند و خطرات امنیتی را در محیط لینوکس خود به حداقل برساند.

نتیجه

مدیریت کاربران در محیط لینوکس برای حفظ یک سیستم امن و سازمان یافته ضروری است. در زمینه CTechCo، ما جنبه های مختلف مدیریت کاربر و احراز هویت را بررسی کرده ایم، مانند:

  • مفهوم کاربران در لینوکس، انواع و نقش آنها در سیستم.
  • ویژگی های حساب کاربری، مانند نام های کاربری، UID ها، GID ها، فهرست های اصلی، پوسته های پیش فرض و رمز عبور.
  • وظایف مدیریت کاربر، از جمله ایجاد، حذف و اصلاح حساب های کاربری با استفاده از دستوراتی مانند useradd، userdel، و usermod.
  • نحوه عملکرد مدیریت گروه با استفاده از groupadd و usermod دستورات
  • مکانیسم های احراز هویت کاربر، از جمله احراز هویت مبتنی بر رمز عبور و احراز هویت مبتنی بر کلید SSH.
  • بهترین شیوه ها برای مدیریت کاربر، مانند پیروی از اصل حداقل امتیاز.
  • استفاده از sudo فرمان برای مجوزهای بالا.
  • مجوزهای کاربر و کنترل دسترسی از طریق پیکربندی شده است chmod فرمان
  • نظارت و ممیزی فعالیت های کاربر با استفاده از ابزارهایی مانند auditd.
  • برنامه های آموزش و آگاهی کاربران برای ارتقای امنیت رمز عبور و بهترین شیوه های مدیریت داده ها.

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

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

مکانیسم های احراز هویت کاربر نیز مورد بحث قرار گرفت. ما احراز هویت مبتنی بر رمز عبور را بررسی کردیم، جایی که کاربران نام کاربری و رمز عبور خود را برای تأیید ارائه می‌کنند. علاوه بر این، ما احراز هویت مبتنی بر کلید SSH ایمن تر را بررسی کردیم که بر جفت کلیدهای عمومی-خصوصی متکی است.

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

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

مثل همیشه امیدوارم از مقاله لذت برده باشید و چیز جدیدی یاد گرفته باشید. در صورت تمایل می توانید من را در لینکدین یا دنبال کنید توییتر.