Categories امنیتوب

پرمیشن چیست و چگونه تنظیم می شود

اگر می خواهید بدانید که پرمیشن چیست و چگونه باید آن را تنظیم کرد با ما همراه باشید …

مبانی و اصول اولیه تنظیم سطح دسترسی‌ها پرمیشن

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

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

روش‌های نشانه‌گذاری و تخصیص سطوح دسترسی پرمیشن

جهت بیان و تعریف سطح دسترسی‌ها در هاست لینوکس دو روش عددی و الفبایی وجود دارد. در روش عددی همواره با یک عدد ۳ رقمی و در روش الفبایی با یک عبارت ۹ حرفی مواجهیم.

مثال عددی: ۷۵۵

مثال حروفی: rwxr-xr-x

همانطور که مشاهده می‌کنید در هر دو روش تعداد ارقام یا حروف، مضربی از عدد ۳ است به آن معنا که سطح دسترسی به ۳ بخش اصلی با نام‌های Owner/User، Group و World/Other تقسیم می‌شود.

Owner/User: بیانگر مالکیت فایل‌ها و یا دایرکتوری‌ها است که در وبسایت‌ها با نام کاربری Host یکسان است.

Group: نشانگر گروهای کاری تعریف شده در سیستم عامل چون nobody, mail و …. می‌باشد.

World/Other: دیگر دسترسی‌های عمومی چون مشاهده محتوای فایل در وبسایت از این طریق ارائه می‌شود.

هر یک از این ۳ بخش می‌تواند منتصب به یک رقم در روش عدد و ۳ حرف در روش حروفی، با ساختار زیر باشد:

Read: بیانگر قابلیت خواندن محتوای فایل‌ها و دایرکتوری‌ها می‌باشد که توسط حرف r و یا عدد ۴ (۲۲) نمایش داده می‌شود.

Write: بیانگر قابلیت نگارش و یا اعمال تغییرات در فایل‌ها و دایرکتوری‌ها می‌باشد که توسط حرف w و یا عدد ۲ (۲۱) نمایش داده می‌شود.

Execute: بیانگر قابلیت اجرای فایل‌ها و دایرکتوری‌ها می‌باشد که توسط حرف x و یا عدد ۱ (۲۰) نمایش داده می‌شود.

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

معنای این اعداد به صورت زیر می باشد.

۰ = no access

۱ = x– = execute
۲ =-w- = write
۳ = wx = write and execute
۴ = r– = read
۵ = r-x = read and execute
۶ = rw- = read and write
۷ = rwx = read write execute (full access

مثلا اگر بگوییم پرمیشن یک فایل ۶۰۴ می باشد یعنی کاربر حق دسترسی دارد و می تواند فایل را دانلود یا پاک کند، گروه که اهمیتی هم ندارد حق دسترسی ندارد، دیگران فقط می توانند فایل را دانلود کنند.

چگونگی مشاهده و بررسی سطوح دسترسی پرمیشن

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

پرمیشن شما محدود به cPanel است؟

به cPanel لاگین کنید و از طریق File Manager به دایرکتوری فایل یا مسیر مورد‌نظر مراجعه فرمایید. حال مطابق با یکی از تصاویر زیر می‌توانید با انتخاب دکمه Change Permission یا Permisions اقدام به تغییر سطح دسترسی فرمایید.

به SSH یا محیط Bash و خط فرمان پرمیشن  دارید؟

فرامین یا Command‌های زیادی به همراه آرگومان‌های مختلف می‌توانند در بررسی و تنظیم سطوح دسترسی مورد استفاده قرار گیرند با این حال بهترین، ساده‌ترین آن‌ها به شرح زیر است:

ls -la
این Command محتوای مسیر مورد‌نظر، شامل انوع فایل‌ها و دایرکتوری‌های در دسترس و حتی مخفی را به همراه جزییات آن‌ها و سطوح دسترسی نمایش می‌دهد. خروجی این فرمان به ازای هر فایل یا دایرکتوری مشابه مثال زیر خواهد بود.
-rw-r--r-- 1 user group 418 Oct 20 23:59 index.php
drwxr-x--x 8 user group 4.0K Aug 9 13:02 mail
که اطلاعات زیر را توضیح می دهند:
نام فایل یا دایرکتوری زمان آخرین تغییرات اعمال شده حجم گروه مالک تعداد لینک ها سطح دسترسی
index.php Oct 20 23:59 ۴۱۸KB Group User ۱ ۶۴۴
در این مثال، سطح دسترسی‌های مربوط به فایل index.php بر اساس مشخصه‌ها به صورت زیر تبیین می‌گردد:
World/Other Group Owner/User
۴ ۴ ۶
r r r+w
۴+۰+۰ ۴+۰+۰ ۴+۲+۰

جهت تغییر سطح دسترسی فایل یا دایرکتوری از فرمان زیر استفاده کنید:

chmod 644 index.php

این فرمان دسترسی فایل index.php موجود در مسیر جاری را به ۶۴۴ تغییر می‌دهد.

اعمال محدودیت‌های لازم به هنگام تنظیم سطح پرمیشن

سطح دسترسی استاندارد در میزبانی‌وب و وبسایت‌ها برای فایل‌ها ۶۴۴ و برای دایرکتوری‌های ۷۵۵ می‌باشد هر چند در مواردی که از Suphp یا CGI استفاده می‌شود سطح دسترسی مناسب و امن برای فقط فایل‌های PHP برابر ۶۰۰ خواهد بود.

هر مقداری بیش از این موارد تنها لازم است بر اساس نیاز و با احتیاط کامل صورت پذیرد چرا که در صورت ارائه سطح دسترسی نامناسب به فایل‌ها و دایرکتوری‌ها زمینه هر‌گونه نفوذ و سوء استفاده فراهم می‌شود.

تأثیر سطوح دسترسی نادرست بر امنیت سایت

استفاده نادرست از پرمیشن‌ها می‌تواند یکی از رایج‌ترین دلایل آسیب‌پذیری‌های امنیتی در یک سایت باشد. بسیاری از نفوذها، تغییرات غیرمجاز، بارگذاری شل‌ها (Shell Upload) یا حتی حذف اطلاعات حیاتی به دلیل دسترسی‌های ناصحیح رخ می‌دهند. به‌عنوان مثال:

  • سطح دسترسی 777 (یعنی full access برای همه کاربران) ممکن است به مهاجمی اجازه دهد که فایل مخربی را روی سرور آپلود کند، یا فایل‌های موجود را تغییر داده یا حذف کند.

  • سطح دسترسی بیش از حد بالا برای فایل‌های اجرایی PHP ممکن است باعث اجرای دستورات دلخواه از طرف کاربران ناشناس یا اسکریپت‌های مخرب شود.

بنابراین، همیشه توصیه می‌شود دسترسی‌ها را بر پایه “حداقل لازم” تنظیم کنید:
حداقل سطح دسترسی برای عملکرد صحیح، نه بیشتر.

جمع‌ بندی

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

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

Erfan Akbarieh

Recent Posts

معرفی بهترین پلاگین های افزایش امنیت وردپرس

اگر به سئو سایت وردپرسی خود اهمیت می دهید، مطمئناً معیارهای مهمی مثل سرعت و…

2 ماه ago

مقایسه بهترین هوش مصنوعی؛ کدام انتخاب مناسب شماست؟ مقایسه تکمیلی

در عصر حاضر، فناوری اطلاعات و هوش مصنوعی (AI) به سرعت در حال دگرگون‌سازی جنبه‌های…

7 ماه ago

eSIM در ایران؛ تحول بزرگ سیم‌کارت‌ها با عرضه آیفون 17 و ورود اپراتورها

دنیای تکنولوژی همیشه در حال تغییر است و هر روز یک فناوری تازه جایگزین روش‌های…

8 ماه ago

آموزش جامع نصب جنگو (Django) بر روی اوبونتو | راهنمای گام به گام برای مبتدیان تا حرفه‌ای ها

آموزش جامع نصب Django روی اوبونتو مقدمه اگر به دنبال ساخت یک وب‌سایت یا اپلیکیشن…

8 ماه ago

رفع خطای لایسنس در ویندوز سرور

آموزش گام‌به‌گام حذف محدودیت Grace Period در Remote Desktop Services یکی از مشکلات رایج در…

9 ماه ago

آموزش تغییر پورت ریموت دسکتاپ (RDP) در ویندوز سرور

پروتکل Remote Desktop Protocol (RDP) یکی از متداول‌ترین روش‌ها برای مدیریت سرورهای ویندوزی از راه…

9 ماه ago