روش‌های مدیریت کاربران و دسترسی‌ها در سرور لینوکس: راهنمای جامع امنیت و کنترل سطح دسترسی

به انجمن تخصصی وبمستران خوش آمدید!

با عضویت در انجمن، به محتوای اختصاصی ویژه وبمستران دسترسی داشته باشید و از امکانات بی نظیر اعضای انجمن بهره مند شوید.

همین الان عضو شوید!

روش‌های مدیریت کاربران و دسترسی‌ها در سرور لینوکس: راهنمای جامع امنیت و کنترل سطح دسترسی

Ahmad

احمدرضا کریمی خالدی
پرسنل مدیریت
مدیریت کل
عضو انجمن
عضو پرمیوم
3 1 4
نوشته‌ها
220
امتیاز پسند
0
امتیازها
936
جایزه‌ها
5
سن
30
محل سکونت
اصفهان
اعتبار
15,390‌ سکه
  • موضوع نویسنده
  • #1

مقدمه: چرا مدیریت کاربران و دسترسی‌ها در لینوکس اهمیت دارد؟


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

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


در لینوکس، هر فردی که به سیستم دسترسی دارد به‌عنوان یک کاربر (user) تعریف می‌شود. هر کاربر دارای شناسه کاربری (UID) و گروه (group) منحصر به فرد است که تعیین می‌کند چه سطحی از دسترسی به فایل‌ها، برنامه‌ها و دستورات را دارد.

مفهومشرح
Userفرد یا اکانت با دسترسی به سیستم
Groupمجموعه‌ای از کاربران با سطح دسترسی مشترک
Rootکاربر ارشد با دسترسی نامحدود به همه بخش‌ها

ایجاد، حذف و مدیریت کاربران در لینوکس


ساخت و حذف کاربر با دستورات shell انجام می‌شود. نمونه‌ای از دستورات متداول:
Bash:
sudo adduser newuser
sudo deluser olduser
همچنین برای تغییر رمزعبور:
Bash:
sudo passwd username

سطوح دسترسی کاربران: معرفی سطوح و شیوه تعریف


هر فایل و دایرکتوری در لینوکس دارای مجوز (Permission) برای سه دسته است:
  • مالک فایل (Owner)
  • گروه فایل (Group)
  • سایر کاربران (Others)
مجوزها شامل سه نوع خواندن (r)، نوشتن (w)، اجرا (x) هستند که توسط دستور chmod قابل تنظیم‌اند.
نمونه تغییر دسترسی:
Bash:
chmod 750 myfile.txt

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


عدد هر مجوز با جمع عددی r=4، w=2 و x=1 تعیین می‌شود. به طور مثال:
مجوز عددیدسترسی
7خواندن+نوشتن+اجرا (rwx)
6خواندن+نوشتن (rw-)
5خواندن+اجرا (r-x)
4فقط خواندن (r--)

مدیریت و تعیین گروه‌ها (Group) برای کاربران


گروه‌ها کاربردشان مدیریت دسته‌جمعی سطح دسترسی‌هاست. کاربر می‌تواند عضو یک یا چند گروه باشد. تعریف گروه جدید:
Bash:
sudo addgroup webmaster
sudo usermod -a -G webmaster ali
با این روش، کاربر ali عضو گروه webmaster خواهد شد.

افزودن کاربر به گروه sudo و مدیریت سطح دسترسی


اعضای گروه sudo می‌توانند دستورات حیاتی سیستم را اجرا کنند. افزودن کاربر به sudo:
Bash:
sudo usermod -aG sudo username

تعیین سطوح دسترسی با فایل /etc/sudoers


این فایل مهم‌ترین بخش تعیین دسترسی sudo است. برای ویرایش ایمن:
Bash:
sudo visudo
در این فایل می‌توانید تنظیم کنید هر کاربر یا گروه، چه دستوراتی را بدون رمز یا با رمز اجرا کند.

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


  • ایجاد حساب کاربری جداگانه برای هر فرد و پرهیز از استفاده اشتراکی حساب root
  • تعیین سطح دسترسی محدود و فقط بر اساس نیاز واقعی هر کاربر (اصل least privilege)
  • فعال‌سازی احراز هویت دومرحله‌ای (2FA) در سرور برای امنیت بیشتر ورود
  • استفاده از کلید SSH به‌جای رمزعبور و غیرفعال‌سازی دسترسی root از طریق SSH
  • بازبینی مرتب حساب‌های فعال و حذف کاربران بدون نیاز
  • ثبت و مانیتورینگ ورود و تغییر دسترسی با ابزارهایی مثل auditd، last و...

نمونه تنظیم محدودیت دسترسی به فایل با chmod و chown


برای تغییر مالکیت فایل:
Bash:
sudo chown ali:webmaster file.txt
و برای مدیریت اجازه مشاهده یا تغییر فایل برای گروه خاص:
Bash:
chmod 640 file.txt
در این حالت، فقط مالک می‌تواند فایل را ویرایش کند، اعضای گروه فقط می‌خوانند و سایرین هیچ دسترسی ندارند.

جمع‌بندی؛ مدیریت حرفه‌ای کاربران و دسترسی‌های لینوکس


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