» مرکز آموزش هاست و دامین » هاست » لینوکس » سیپنل » آموزش سطح دسترسی فایلها و دایرکتوری ها در هاست لینوکس
در این مقاله خواهیم گفت چرا یک فایل، دایرکتوری یا فولدر هاست باید در بخشهای مختلف، سطح دسترسی (Permission) داشته باشند و این سطوح دسترسی چگونه و به چه نحو تعریف شده و قابل استفاده هستند.
تنظیم سطح دسترسی و لزوم توجه به آن، از ابتداییترین اصول حفظ امنیت وبسایت میباشد و تنظیم صحیح آنها منجر به جلوگیری از سرقت اطلاعات، نفوذ و بارگذاری فایلهای مخرب میشود، به همین دلیل دسترسیها به گونهای طراحی شدند که بتوان متناسب با سه اقدام ممکن یعنی خواندن (Read)، نوشتن یا تغییر (Write) و در نهایت اجرا و دریافت نتیجه مورد نظر (Execute) یک فایل، دایرکتوری یا مسیر را محدود یا مدیریت کرد.
در تنظیم سطح دسترسی از حروف خلاصه rwx که نشان از به ترتیب از چپ به راست، Read, Write, Execute هست، استفاده میشود که در ادامه به تشریح آنها میپردازیم.
جهت بیان و تعریف سطح دسترسیها در هاست لینوکس دو روش عددی و الفبایی وجود دارد. در روش عددی همواره با یک عدد ۳ رقمی و در روش الفبایی با یک عبارت ۹ حرفی مواجهیم.
مثال عددی: ۷۵۵
مثال حروفی: rwxr-xr-x
همانطور که مشاهده میکنید در هر دو روش تعداد ارقام یا حروف، مضربی از عدد ۳ است به آن معنا که سطح دسترسی به ۳ بخش اصلی با نامهای Owner/User، Group و World/Other تقسیم میشود.
Owner/User: بیانگر مالکیت فایلها و یا دایرکتوریها است که در وبسایتها با نام کاربری Host یکسان است.
Group: نشانگر گروهای کاری تعریف شده در سیستم عامل چون nobody, mail و …. میباشد.
World/Other: دیگر دسترسیهای عمومی چون مشاهده محتوای فایل در وبسایت از این طریق ارائه میشود.
هر یک از این ۳ بخش میتواند منتصب به یک رقم در روش عدد و ۳ حرف در روش حروفی، با ساختار زیر باشد:
Read: بیانگر قابلیت خواندن محتوای فایلها و دایرکتوریها میباشد که توسط حرف r و یا عدد ۴ (۲۲) نمایش داده میشود.
Write: بیانگر قابلیت نگارش و یا اعمال تغییرات در فایلها و دایرکتوریها میباشد که توسط حرف w و یا عدد ۲ (۲۱) نمایش داده میشود.
Execute: بیانگر قابلیت اجرای فایلها و دایرکتوریها میباشد که توسط حرف x و یا عدد ۱ (۲۰) نمایش داده میشود.
فهرست ترکیبات ممکن جهت تنظیم و اعمال سطح دسترسیهای گوناگون برای انواع فایلها و دایرکتوریها به شرح زیر میباشد:
(read/write/execute)4+2+1 = 7
(read/write)4+2 = 6
(read/execute)4+1 = 5
(read)4 = 4
(write/execute)2+1 = 3
(write)2 = 2
(execute)1 = 1
آگاهی از سطوح دسترسی تنظیم شده بر روی فایلها و دایرکتوریها از مهمترین عناصر در تامین امنیت وبسایتها میباشد از اینرو توصیه میشود همواره مدنظر قرار دهید.
به cPanel لاگین کنید و از طریق File Manager به دایرکتوری فایل یا مسیر موردنظر مراجعه فرمایید. حال مطابق با یکی از تصاویر زیر میتوانید با انتخاب دکمه Change Permission یا Permisions اقدام به تغییر سطح دسترسی فرمایید.
فرامین یا 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 برابر ۶۰۰ خواهد بود.
هر مقداری بیش از این موارد تنها لازم است بر اساس نیاز و با احتیاط کامل صورت پذیرد چرا که در صورت ارائه سطح دسترسی نامناسب به فایلها و دایرکتوریها زمینه هرگونه نفوذ و سوء استفاده فراهم میشود.
در صورتی که به خدمات میزبانی وب برای وب سایت خود نیاز دارید کافی است به خرید هاست لینوکس مراجعه کنید.