اگر می خواهید بدانید که پرمیشن چیست و چگونه باید آن را تنظیم کرد با ما همراه باشید …
مبانی و اصول اولیه تنظیم سطح دسترسیها پرمیشن
تنظیم سطح دسترسی و لزوم توجه به آن، از ابتداییترین اصول حفظ امنیت وبسایت میباشد و تنظیم صحیح آنها منجر به جلوگیری از سرقت اطلاعات، نفوذ و بارگذاری فایلهای مخرب میشود، به همین دلیل دسترسیها به گونهای طراحی شدند که بتوان متناسب با سه اقدام ممکن یعنی خواندن (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
-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 | ۱ | ۶۴۴ |
World/Other | Group | Owner/User |
۴ | ۴ | ۶ |
r | r | r+w |
۴+۰+۰ | ۴+۰+۰ | ۴+۲+۰ |
جهت تغییر سطح دسترسی فایل یا دایرکتوری از فرمان زیر استفاده کنید:
chmod 644 index.php
این فرمان دسترسی فایل index.php موجود در مسیر جاری را به ۶۴۴ تغییر میدهد.
اعمال محدودیتهای لازم به هنگام تنظیم سطح پرمیشن
سطح دسترسی استاندارد در میزبانیوب و وبسایتها برای فایلها ۶۴۴ و برای دایرکتوریهای ۷۵۵ میباشد هر چند در مواردی که از Suphp یا CGI استفاده میشود سطح دسترسی مناسب و امن برای فقط فایلهای PHP برابر ۶۰۰ خواهد بود.
هر مقداری بیش از این موارد تنها لازم است بر اساس نیاز و با احتیاط کامل صورت پذیرد چرا که در صورت ارائه سطح دسترسی نامناسب به فایلها و دایرکتوریها زمینه هرگونه نفوذ و سوء استفاده فراهم میشود.