هنگامی که فایلها و دایرکتوریها در مدیریت فایل سی پنل ایجاد میشوند،یک مجوز پیشفرض به آن ها اختصاص داده میشود. مجوزهای پیش فرض برای دایرکتوری ها و فایل ها در سی پنل به ترتیب ۷۵۵ و ۶۴۴ است که ما قصد داریم در ادامه این مطالب تغییر دسترسی فایل در سی پنل را هم به شما آموزش دهیم.
در اکثر مواقع هرگز نیازی به تغییر مجوزها وجود ندارد، اما در مواقعی که (بهروزرسانی یا نصب) با مشکل مواجه میشود یا به دلیل وجود (فایلها/پوشههای) خراب، فایلها و دایرکتوریها در سی پنل مجوز ها تغییر پیدا میکند و سطح دسترسی را دچار مشکل میکند.
حال در این مقاله نحوه رفع مجوزهای نادرست را مورد بحث قرار خواهیم داد.
پیشنهاد ما: آپلود فایل در سی پنل
سطح دسترسی یا permissions چیست ؟
خیلی خب در ابتدا باید بدونیم سطح دسترسی یا همون permission داخل هاست به چه معناست و چه کاربردی داره ؟ پرمیشین یا سطح دسترسی در واقع به معنای میزان دسترسی کاربران و بازدیدکنندگان به فایل ها و فولدر های داخل هاست هستش، که برای هر فایل یا فولدری از هاست میشه یه سطح دسترسی خاصی رو متناسب با کاربرد اون فایل تعیین کرد، در واقع تعیین سطح دسترسی های مناسب برای فایل های داخل هاست لینوکس یکی از اصول اولیه تامین امنیت وب سایت و فایل ها و دایرکتوری های داخل هاست محسوب میشه، در واقع سطح دسترسی های محتویات داخل هاست، متناسب با دسترسی جهت انجام ۳ نوع عملیات مختلف تنظیم میشن:
- Read که به معنای دسترسی جهت خواندن و مشاهده محتویات اون فایل یا فولدر هستش.
- Write که به معنای دسترسی نوشتن و انجام تغییرات داخل محتویات فایل ها یا فولدر ها هستش.
- Execute که به معنای دسترسی لازم جهت اجرا و دریافت نتیجه از فایل یا فولدر مورد نظر محسوب میشه.
خیلی خب حالا میخوایم با انواع سطح دسترسی ها و نحوه نشونه گذاری اونا آشنا بشیم. اگه بیایم سطح دسترسی read رو با حرف اختصاصی r نشونه گذاری کنیم و سطح دسترسی write رو هم با حرف w نشونه گذاری کنیم و در نهایت سطح دسترسی execute رو هم با حرف اختصاصی x بشناسیمش، پس میتونیم تو تنظیم سطح دسترسی فایل ها، از حروف اختصاری rwx استفاده کنیم و rwx به ترتیب از سمته چپ به راست به معنای دسترسی، خواندن، نوشتن و اجرای فایل ها محسوب میشه و اینجوری میشه برای نشونه گذاری سطح دسترسی فایل ها از حروف اختصاری استفاده کرد.
حالا اگه بخواییم برای تعیین سطح دسترسی فایل ها ارقام و اعداد مشخصی تعیین کنیم، تا هر سطح دسترسی رو با عددی مشخصی بشناسیمش، برای سطح دسترس read یا r عدد ۴ رو تعیین می کنیم و برای سطح دسترسی write یا همون w عدد ۲ رو تعیین می کنیم و برای سطح دسترسی Execute یا همون x هم عدد ۱ رو تعیین می کنیم.
حالا اگه بخوایم یه مثال عددی از سطح دسترسی های رایج بزنیم مثلا میگیم سطح دسترسی ۷۵۵ و اگه بخوایم یه مثال حروفی از سطح دسترسی های رایج بزنیم مثلا میگیم سطح دسترسی rwx-xr-x ،خیلی خب حالا اگه دقت کنین هر دو سطح دسترسی حروفی و عددی که براتون مثال زدیم از سه قسمت تشکیل شدن، یه جورایی هم میشه گفت که همشون مضرب ۳ هستند، اصلا نگران نباشید چون ما الان روش شکل گیری سطح دسترسی ها رو به صورت کامل براتون توضیح میدیم تا خیلی راحت بتونین با انواع سطح دسترسی ها و نحوه شکگل گیری اونا آشنا بشین. همونطوری که مثال زدیم تمام سطح دسترسی های حروفی و عددی از سه قسمت تشکیل شدن و مضربی از سه هستند و سه قسمتی بودن اون ها به این خاطره که داخل لینوکس معمولا سه نوع کاربر وجود داره که میتونه به فایل ها و فولدر های داخل هاست دسترسی داشته باشه، که ما اونا رو به شما معرفی می کنیم:
- کاربر User یا owner که همون کاربر اصلی و مدیر هاست محسوب میشه.
- کاربر Group که به معنای گروه های کاربری تعیین شده سیستمی، برای انجام عملیات های خودکار بین فایل های هاست توسط خود سیستم هستش.
- کاربر World یا other که به معنای بازدیدکنندگان از سایت و عموم مردمی هستش که وارد سایت ما میشن.
نحوه محاسبه سطح دسترسی فایل ها و فولدر ها
حالا اگه یه جدول مطابق زیر بسازیم و بخوایم سطح دسترسی فایل مورد نظرمون رو به صورت عددی یا حروفی تعیین کنیم، این جدول سه تا ستون جهت دسترسی توسط گروه های مختلف مردم داره که از سمته چپ به راست، ستون اول رو user نام گذاری می کنیم و ستون دوم رو group و ستون سوم رو هم world نام گذاری می کنیم، و حالا اگه این جدول سه تا ردیف هم جهت تعیین میزان دسترسی توسط افراد مختلف داشته باشه از بالا به پایین میشه read و write و excute و در نتیجه جدول ما به این صورت میشه.
world | group | User | |
* | * | * | read |
– | – | * | write |
* | * | * | excute |
rx | rx | rwx | |
۵=۴+۱ | ۵=۴+۱ | ۷=۱+۲+۴ |
خیلی خب حالا ما میخوایم توسط این جدول سطح دسترسی یه فولدری رو متناسب با نیاز های اون فولدر محاسبه کنیم، پس در ابتدا ردیف اول رو از چپ به راست تکمیل می کنیم.
- میخوایم در ابتدا سطح دسترسی read یا مشاهده و خواندن این فولدر رو توسط گروه های مختلف تعیین کنیم: ما میخوایم این فولدر توسط user اصلی هاست قابل دیدن باشه پس اینجا رو یه * میزاریم، میخوایم این فایل توسط گروه های مختلف اسکریپت های داخل هاست هم قابل مشاهده باشه پس یه ستاره هم اینجا میزنیم، میخوایم مردم و بازدیدکننده ها هم قادر به مشاهده محتویات این فلودر باشن پس یه * هم اینجا میزنیم.
- حالا میخوایم سطح دسترسی نوشتن یا write رو داخل این فولدر برای گروه های کاربری مختلف تعیین کنیم: ما میخوایم user اصلی هاست امکان نوشتن و تنظیم این فولدر رو داشته باشه پس اینجا یه ستاره میزنیم، ما نمیخوایم گروه های مختلف برنامه های داخل هاست اجازه ویرایش و نوشتن توی این فولدر رو داشته باشن پس تو این قسمت یه علامت منفی میزاریم، و ما نمیخوایم مردم و بازدیدکنندگان از سایت هم امکان ویرایش و نوشتن داخل این فولدر رو داشته باشند پس اینجا هم یه منفی میزاریم.
- حالا میخوایم سطح دسترسی اجرا و مشاهده نتیجه یا همون excute این فولدر رو برای گروه های کاربری مختلف تعیین کنیم: ما میخوایم user اصلی هاست امکان اجرای این فولدر رو داشته باشه پس اینجا یه ستاره میزنیم، ما میخوایم گروه های مختلف یا group برنامه های داخل هاست امکان اجرای این فولدر رو داشته باشند پس داخل اینجا هم یه ستاره میزاریم، همچنین میخوایم مردم و بازدیدکنندگان یا همون world هم اجازه ی اجرای این فولدر، و مشاهده نتیجه اجرای این فولدر رو داشته باشن پس داخل اینجا هم یه ستاره میزاریم.
نحوه محاسبه سطح دسترسی فایل ها به صورت حروفی و عددی در لینوکس
حالا به قسمت اصلی آموزش رسیدیم و نوبت اون رسیده که سطح دسترسی فولدر مورد نظرمون رو که تصمیم گرفتیم چه نوع دسترسی هایی و به چه میزانی داشته باشه رو به صورت عددی و حروفی تعیین کنیم تا قادر باشیم سطح دسترسی نهایی فولدر مورد نظرمون رو محاسبه کنیم، بنابراین به صورت ستونی سطح دسترسی فولدر مورد نظرمون رو مرحله به مرحله با توجه به حروف اختصاری که در مراحل قبل گفته شد، یعنی read رو با r تعیین می کنیم و write رو با w تعیین می کنیم و execute رو با x تعیین می کنیم، پس در این صورت:
- سطح دسترسی ستون اول با توجه به این که امکان read و write و excute داره رو اگه بخوایم به صورت حروفی تعیین کنیم میشه rwx
- سطح دسترسی ستون دوم رو با توجه به این که فقط امکان read و excute داره رو اگه بخوایم به صورت حروفی تعیین کنیم میشه rx
- و سطح درسترسی ستون سوم رو هم با توجه به این که فقط امکان read و excute داره رو اگه بخوایم به صورت حروفی تعیین کنیم میشه rx
پس در نتیجه سطح دسترسی حروفی این فایل از سه قسمت تشکیل میشه و از چپ به راست به این صورت نوشته میشه: rwx-rx-rx، اما چون معمولا تعیین سطح دسترسی حروفی، داخل هاست زیاد کاربردی نداره و معمولا داخل دستورات لینوکس ازش استفاده میشه، پس بنابراین بهتره سطح دسترسی عددی فولدر مورد نظرمون رو تعیین کنیم تا بتونیم به راحتی اون رو داخل هاست بر روی فولدر مورد نظر ست کنیم، پس حالا تصمیم داریم سطح دسترسی فولدرمون رو به صورت عددی تعیین کنیم، ما این کار رو باید با توجه اعداد تعیین شده ای که داخل مرحله قبلی برای انواع دسترسی ها تعیین کردیم انجامش بدیم، یعنی سطح دسترسی r یا همون read رو عدد ۴ محاسبه می کنیم، سطح دسترسی w یا همون write رو عدد ۲ محاسبه می کنیم و سطح دسترسی x یا همون excute رو عدد یک محاسبه می کنیم، پس در این صورت سطح دسترسی فولدر مورد نظرمون رو به صورت عددی برای هر ستون به صورت جداگونه محاسبه می کنیم:
- سطح دسترسی ستون اول رو با توجه به این که از چپ به راست امکان excute،write،read داره رو اگه بخوایم به صورت عددی محاسبه کنیم میشه ۱+۲+۴ که جمعشون میشه عدد ۷، پس عدد به دست اومده برای ستون اول میشه ۷.
- سطح دسترسی ستون دوم رو با توجه به این که از چپ به راست امکان excute،read داره رو اگه بخوایم به صورت عددی محاسبه کنیم میشه ۴+۱ که جمعشون میشه عدد ۵، پس عدد به دست اومده برای ستون دوم میشه ۵.
- سطح دسترسی ستون سوم رو با توجه به این که از چب به راست امکان excute،read داره رو اگه بخوایم به صورت عددی محاسبه کنیم میشه ۱+۴ که جمعشون میشه عدد ۵، پس عدد به دست اومده برای ستون سوم هم همیشه ۵.
بنابراین سطح دسترسی این فولدر رو اگه بخوایم به صورت عددی محاسبه کنیم و اعداد به دست اومده رو از چپ به راست کنار هم بچنیم، سطح دسترسی عددی این فولدر میشه هفت،پنج،پنج، دقت کنید که خیلی ها این سطح دسترسی رو میخونن ۷۵۵ و این کامل اشتباهه، چیزی به نام سطح دسترسی ۷۵۵ وجود نداره، ما باید بگیم سطح دسترسی یا permission این فایل یا فولدر هفت،پنج،پنج هستش.
معرفی انواع سطح دسترسی های مطمئن و امن برای فایل ها و فولدر ها
خیلی خب ما سعی کردیم به شما خیلی کامل یاد بدیم که سطح دسترسی ها رو چطوری میشه محسابه کرد و عدد permission تعیین شده چه معنایی داره، اما اگه هنوز هم درمورد سطح دسترسی و محاسبات اون مشکل دارین هیچ ایرادی نداره، ما الان تصمیم داریم سه نوع سطح دسترسی متداول و مطمئن رو به شما معرفی کنیم تا شما فقط از این سطح دسترسی ها برای افزایش امنیت فایل ها و فولدر های هاست سایتتون استفاده کنید:
- سطح دسترسی ۷۵۵: که از این سطح دسترسی میتونین برای فولدر های داخل هاستتون استفاده کنید تا فایل ها و محتویات وب سایت شما داخل دایرکتوری ها و مسیر های مختلف سایتتون برای عموم قابل استفاده باشه.
- سطح دسترسی ۶۴۴: که میتونین این سطح دسترسی رو بر روی فایل های اجرایی سایتتون مانند php داخل هاست قرار بدین تا کاربران بتونن به راحتی از صفحات سایت شما استفاده کنند اما در عین حال قادر به تغییر فایل های هاست شما نباشند.
- سطح دسترسی ۴۰۰: که میتونین از اون برای فایل های بسیار مهم و حیاتی هاستتون استفاده کنید تا فقط مدیر هاست قادر به دیدن و ویرایش اون ها باشه، از سطح دسترسی ۴۰۰ معمولا برای افزایش امنیت فایل های مهم هاست که داخل اون اطلاعات ورود به ادمین یا دیتابیس سایت قرار گرفته استفاده میشه، مثلا ما این سطح دسترسی رو معمولا بر روی فایل wp-config.php وردپرس و php جوملا قرار میدیم، چون داخل این فایل ها اطلاعات بسیار مهمی وجود داره که اگه به هر نحوی کسی موفق بشه اونا رو بخونه میتونه به راحتی به سایت ما نفوذ کنه.
نکته بسیار مهمی که همیشه باید اون رو رعایت کنین اینه که به هیچ عنوان سطح دسترسی ۷۷۷ رو بر روی هیچکدوم از فایل ها یا فولدر های داخل هاستتون قرار ندین، چون اگه یه فایلی سطح دسترسی ۷۷۷ داشته باشه، به این معناست که تمام مردم قادر به نوشتن و اعمال تغییرات در اون فایل هستند.
راهنمای تغییر سطح دسترسی فایل ها و فولدر های داخل سی پنل
خیلی خب حالا میخوایم بهتون بگیم که چطوری میتونین سطح دسترسی فایل هاتون رو داخل هاست cpanel ویرایش و تنظیم کنید، برای انجام این کار ابتدا توسط آموزش ورود به سی پنل وارد هاست سایتتون بشین و از قسمت files بر روی file manager کلیک کنید،
شما الان وارد قسمت home فایل منیجر هاستتون شدید، اینجا محل قرار گیری فایل های ساختاری و ریشه ای هاست شما هستش و اگه سطح دسترسی هر کدوم از فایل ها و دایرکتوری های داخل این مسیر رو تغییر بدین کل سایت شما با اختلال مواجه میشه، بنابراین تمام کاری که شما باید برای تغییر سطح دسترسی فایل هاتون انجام بدین اینه که اول وارد public_html بشین، و داخل اونجا تمام سطح دسترسی های دلخواهتون رو تنظیم کنید، برای انجام این کار از این قسمت بر روی آیکون public_html کلیک کنید.
خیلی خب همونطوری که میبینین اینجا کلی دایرکتوری و فایل وجود داره، این ها فایل های وب سایت وردپرسی ما هستند، همونطوری که میبنین داخل اینجا نوشته شده permissions و در پایین این قسمت سطح دسترسی تمام فایل ها و دایرکتوری ها در مقابل اون ها درج شده،
مثلا همونطوری که میبینین سطح دسترسی پوشه wp-admin عدد ۶۰۰ تعیین شده و همونطوری که قبلا هم بهتون گفتیم سطح دسترسی مناسب برای دایرکتوری ها و پوشه ها ۷۵۵ هستش، بنابراین بر روی این پوشه یک بار کلیک می کنیم تا انتخاب بشه و حالا برای تغییر سطح دسترسی اون دوتا راه وجود داره:
- راه اول اینه که از اون بالا سمته چپ بر روی آیکون permissions که یه علامت کلید هم داره کلیک کنیم.
پیشنهاد ما: ابزارهای پیشرفته در سی پنل
- راه دوم هم اینه که بر روی فولدر مورد نظرمون کلیک راست کنیم و بر روی گزینه change permissions کلیک کنیم تا پنجره change permissions برای ما باز بشه.
خیلی خب حالا تو اینجا از قسمت files نام و مسیر فایلی که تصمیم داریم سطح دسترسی اون رو تغییر بدیم نوشته شده، همونطوری که میبنین همه چیز اینجا دقیقا مانند اون جدولی هستش که تو مراحل قبل براتون توضیحش دادیم، حالا چون ما میخوایم سطح دسترسی این فولدر ۷۵۵ بشه پس بنابراین عدد ستون اول باید بشه ۷ در صورتی که الان ۶ هستش، همونطوری که میدونین عدد سطح دسترسی read عدد ۴ هستش و عدد سطح دسترسی write هم عدد ۲ هستش و عدد سطح دسترسی execute هم عدد ۱ هستش، خیلی خب اینجا نتیجه نهایی ما شده عدد ۶، پس یه یک کم داریم تا بشه هفت، و چون عدد سطح دسترسی excute هم یک هستش پس گزینه مقابل excute رو تیک میزنیم و همونجوری که میبینین نتیجه ۱+۲+۴ شد ۷.
خیلی خب چون قراره ما سطح دسترسی ۷۵۵ رو برای این فولدر ایجاد کنیم حالا تو ستون دوم هم باید یه عدد ۵ بسازیم، خیلی خب به نظر شما نتیجه جمع چه اعدادی از سطح دسترسی های ۴ و ۲ و ۱ میشه ۵ ؟ بله درست حدس زدین نتیجه جمع ۴ و ۱ میشه ۵ و چون عدد ۴ مربوط به سطح دسترسی read هستش پس این قسمت رو تیک دار می کنیم و چون ۱ هم نتیجه سطح دسترسی excute هستش پس این قسمت رو تیک دار میکنیم و همونطوری که میبینین نتیجه نهایی میشه ۱+۴ که میشه ۵.
خیلی خب تا ایجا سطح دسترسی ما شده ۷۵۰ ولی چون ما تصمیم داریم سطح دسترسی ۷۵۵ رو ایجاد کنیم پس ستون سوم هم باید ویرایش بشه و همونطوری که تو ستون قبلی توضیح دادیم، نتیجه جمع نهایی سطح دسترسی read و excute میشه پنج، پس اول read و بعد excute رو تیک دار می کنیم و همونطور که میبنین نتیجه نهایی میشه ۵ و در کل اگه سطح دسترسی این فولدر رو از سمت چپ به راست نگاه کنیم الان سطح دسترسی ما ۷۵۵ هستش و حالا بر روی دکمه change permissions کلیک می کنیم تا سطح دسترسی تعیین شده بر روی فولدر wp-admin هاست ما ست بشه.
مثالی کاربردی از یک سطح دسترسی محدود
خیلی خب حالا نوبت اون شده که یه مثال جالب هم از سطح دسترسی ها و نحوه عملکرد اونا بزنیم، همونطوری که میبنین الان ما اینجا یه فایل داریم تحت عنوان wordpress که فرمتش هم zip هستش، حالا اگه سطح دسترسی این فایل رو از مقابلش نگاه کنین نوشته شده ۴۰۰.
و میدونین که سطح دسترسی ۴۰۰ یعنی هیچکس بیرون از هاست نمیتونه به اون دسترسی داشته باشه، برای همین ما میخوایم ببینیم آیا واقعا داخل سایت میشه به این فایل دسترسی داشت یا نه، همونطوری که میبنین داخل مرورگر آدرس دامنه سایتمون کهkimiahost.com هستش رو تایپ می کنیم و آخرش یه / میزنیم و مینویسیم wordpress.zip و اینتر میزنیم ببینیم میتونیم فایل رو دانلودش کنیم یا نه ؟ همونطوری که میبنین خطای ۴۰۳ یا همون forbidden برای ما میاد.
خطای ۴۰۳ یا forbidden به دلیل محدود بودن سطح دسترسی فایل های هاست
به این معناست که دسترسی به این فایل ممنوعه، جالبه نه ؟
حالا میخوایم بریم سطح دسترسی این فایل رو تغییر بدیم تا ببینیم برای دانلود آزاد میشه یا نه، برای انجام این کار دوباره میریم به قسمت public_html هاست سایتمون و بر روی این فایل کلیک راست میکنیم و change permissions رو میزنیم. و از این پنجره مطابق تصویر دسترسی ۶۴۴ که به معنای دسترسی آزاد به فایل ها هستش رو به ترتیب از چپ به راست ایجاد می کنیم و بر روی دکمه change permissions کلیک می کنیم.
و مجددا همون آدرس kimiahost.com /wordpress.zip رو وارد می کنیم و اینتر میزنیم و همونطور که میبینین حالا که سطح دسترسی فایل آزاد شده، فایل برای دانلود حاضر هستش و حجم فایل هم از این قسمت مشخصه، حالا با این سطح دسترسی هم ما و هم سایر بازدیدکنندگان از سایت قادر هستند این فایل رو دانلود کنند.