آموزش تغییر سطح دسترسی فایل ها و پوشه ها در سی پنل
در این آموزش قصد داریم نحوه تغییر سطح دسترسی فایل ها و پوشه ها را داخل سی پنل به شما آموزش دهیم تا بعد از آن بتوانید بهترین سطح دسترسی را برای انواع فایل ها در هاست تنظیم کنید تا هرگز سایت شما دچار مشکلات امنیتی نشود و هکرها نتوانند به محتویات مهم داخل فایل های هاست شما دسترسی داشته باشند.
سطح دسترسی یا 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 را عدد ۴ محاسبه می کنیم، سطح دسترسی w را عدد ۲ محاسبه می کنیم و سطح دسترسی x را عدد یک محاسبه می کنیم.
در این صورت سطح دسترسی پوشه مورد نظر خود را به صورت عددی برای هر ستون به صورت جدا محاسبه می کنیم:
- سطح دسترسی ستون اول را با توجه به اینکه از چپ به راست امکان excute،write،read دارد، اگر بخواهیم به صورت عددی محاسبه کنیم ۱+۲+۴ می شود که از جمع آن ها عدد ۷ به دست می آید. پس عدد به دست آمده برای ستون اول ۷ می شود.
- سطح دسترسی ستون دوم را با توجه به اینکه از چپ به راست امکان excute،read دارد، رو اگر بخواهیم به صورت عددی محاسبه کنیم ۴+۱ می شود که از جمع آن ها عدد ۵ به دست می آید. پس عدد به دست آمده برای ستون دوم ۵ می شود.
- سطح دسترسی ستون سوم را با توجه به اینکه از چب به راست امکان excute،read دارد، اگر بخواهیم به صورت عددی محاسبه کنیم ۱+۴ می شود که از جمع آن ها عدد ۵ به دست می آید. پس عدد به دست آمده برای ستون سوم نیز ۵ می شود.
بنابراین اگر بخواهیم سطح دسترسی این پوشه را به صورت عددی محاسبه کنیم و اعداد به دست آمده را از چپ به راست کنار هم بچنیم، سطح دسترسی عددی این پوشه هفت، پنج، پنج می شود.
دقت کنید که اکثرا این سطح دسترسی را ۷۵۵ می خوانند و این کاملا اشتباه است. چیزی به نام سطح دسترسی ۷۵۵ وجود ندارد. باید بگوییم سطح دسترسی یا permission این فایل یا پوشه هفت، پنج، پنج است.
معرفی انواع سطح دسترسی های مطمئن و امن برای فایل ها و پوشه ها
تلاش کردیم کامل به شما خیلی آموزش دهیم که سطح دسترسی ها را چطور می توان محاسبه کرد و عدد permission تعیین شده چه معنایی دارد. اما اگر هنوز هم درباره سطح دسترسی و محاسبات آن مشکل دارید ایرادی ندارد.
ما تصمیم داریم سه نوع سطح دسترسی متداول و مطمئن را به شما معرفی کنیم تا شما تنها از این سطح دسترسی ها برای افزایش امنیت فایل ها و پوشه های هاست سایت خود استفاده کنید:
- سطح دسترسی ۷۵۵ : از این سطح دسترسی می توانید برای پوشه های داخل هاست استفاده کنید تا فایل ها و محتویات وب سایت شما در دایرکتوری ها و مسیرهای مختلف سایت برای عموم قابل استفاده باشد.
- سطح دسترسی ۶۴۴ : می توانید این سطح دسترسی را بر روی فایل های اجرایی سایت، مثل php داخل هاست قرار دهید تا کاربران بتوانند به آسانی از صفحات سایت شما استفاده کنند، ولی قادر به تغییر فایل های هاست شما نباشند.
- سطح دسترسی ۴۰۰ : می توانید از آن برای فایل های مهم هاست استفاده کنید تا فقط مدیر هاست قادر به دیدن و ویرایش آن ها باشد. از سطح دسترسی ۴۰۰ معمولا برای افزایش امنیت فایل های مهم هاست که در آن اطلاعات ورود به ادمین یا دیتابیس سایت قرار گرفته استفاده می شود. به طور مثال ما این سطح دسترسی را معمولا بر روی فایل wp-config.php وردپرس و php جوملا قرار می دهیم، چون داخل این فایل ها اطلاعات مهمی وجود دارد که اگر به هر نحوی کسی موفق شود آن ها را بخواند، می تواند به آسانی به سایت ما نفوذ کند.
نکته مهمی که همیشه باید آن را رعایت کنید این است که به هیچ عنوان سطح دسترسی ۷۷۷ را بر روی هیچکاوم از فایل ها یا پوشه های داخل هاست قرار ندهید، چون اگر فایلی سطح دسترسی ۷۷۷ داشته باشد به این معناست که کل مردم قادر به نوشتن و اعمال تغییرات در آن فایل هستند.
راهنمای تغییر سطح دسترسی فایل ها و فولدر های داخل سی پنل
حالا قصد داریم بگوییم که چطور می توانید سطح دسترسی فایل های خود را داخل هاست cpanel ویرایش و تنظیم کنید.
برای انجام اینکار ابتدا وارد هاست سایت خود شوید و از قسمت files بر روی file manager کلیک کنید.
اینجا محل قرار گیری فایل های ساختاری و ریشه ای هاست شما است و اگر سطح دسترسی هر کدام از فایل ها و دایرکتوری های داخل این مسیر را تغییر دهید تمام سایت با اختلال مواجه می شود.
بنابراین کاری که باید برای تغییر سطح دسترسی فایل های خود انجام دهید این است که در ابتدا وارد 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 است. اکنون اگر سطح دسترسی این فایل را از مقابلش نگاه کنید نوشته شده ۴۰۰٫
سطح دسترسی ۴۰۰ یعنی هیچکس بیرون از هاست قادر نیست به آن دسترسی داشته باشد. برای همین می خواهیم ببینیم آیا در سایت می شود به این فایل دسترسی داشت یا خیر.
داخل مرورگر آدرس دامنه سایت خود که به طور مثال modiranserver.com است را تایپ کنید و آخرش / قرار دهید و بنویسید wordpress.zip. ببینید می توانید فایل را دانلود کنید یا نه؟ همانطوری که می بینید خطای ۴۰۳ یا همان forbidden برای ما ظاهر می شود.
خطای ۴۰۳ یا forbidden به علت محدود بودن سطح دسترسی فایل های هاست
به معنی ممنوعیت دسترسی به فایل است. اکنون قصد تغییر سطح دسترسی این فایل را داریم تا ببینیم برای دانلود آزاد می شود یا نه.
برای اینکار دوباره به قسمت public_html هاست سایت رفته و بر روی این فایل کلیک راست کنید و change permissions را بزنید و از این پنجره دسترسی ۶۴۴ که به معنی دسترسی آزاد به فایل ها است را به ترتیب از چپ به راست ایجاد کنید و بر روی دکمه change permissions کلیک کنید.
دوباره به طور مثال آدرس modiranserver.com/wordpress.zip را وارد کنید. همانطور که مشاهده می کنید الان که سطح دسترسی فایل آزاد شده، فایل برای دانلود آماده است و حجم فایل نیز مشخص است. حالا با این سطح دسترسی هم ما و هم سایر بازدیدکنندگان از سایت می توانند این فایل را دانلود کنند.