انواع سطوح دسترسی لینوکس

لینوکس

انواع سطوح دسترسی لینوکس

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

در این آموزش قصد ما این است که سطوح دسترسی لینوکس برای ایجاد دسترسی به پوشه ها و پرونده های سایت را مقداری برای شما توضیح دهیم، پس با ما باشید!

یکی از موارد خیلی مهم برای کسانی که سایت طراحی می کنند امنیت سایت می باشد، چون سروری که برای سایت هایی که با PHP طراحی می شوند اکثرا سرور لینوکس است لازم هست که در مورد پرمیشن ها یا مجوزهای دسترسی لینوکس به پرونده ها و پوشه ها بیشتر بدانید چون کل امنیت لینوکس به این مجوزها وابسته هست.

مسلماً اگه مجوزها مناسب نباشند می تواند برای سیستم خطرناک باشد و هاست ناامن مساوی ست با دسترسی هکرها و در نتیجه از دست رفتن سایت. ما 3 سطح دسترسی لینوکس داریم :

  • Read : توانایی خواندن
  • Write : توانایی نوشتن و ایجاد تغییرات
  • Execute : توانایی اجرای فایل

و 3 گروه دسترسی لینوکس داریم :

  • Owner : مالک یا ادمین
  • Group : افراد عضو گروه یا اعضای گروه که در سایت عضو هستن
  • Public : دیگران یا سایر بازدیدکنندگان

در واقع اعدادی که برای مجوزها نوشته می شود در مبنای هشت هستند. رقم های اول و دوم و سوم (از چپ به راست) مجوز owner و group و Public را مشخص می کنند. هر کدام از این سه رقم را که به مبنای دو برده شود یک عدد سه رقمی در مبنای دو می شود که رقم اول و دوم و سومش (از چپ به راست) مجوز Read و Write و Execute را مشخص می کند.

حالا بیاید ۷۷۷ را معنی کنیم:

owner 7 = 4 + 2 + 1 = read + write + execute

group 7 = 4 + 2 + 1 = read +write + execute

others 7 = 4 + 2 + 1 = read +write + execute

و این همان چیزیست که در کنترل پنل هاست جلوی فایل ها و فولدرها نمایش داده می شود .

یک نکته بسیار مهم : مراقب باشید مجوز 766 اصلاً جالب نیست، چون به Group و Public اجازهٔ هر کاری را می دهد اما به خود Owner فایل، مجوز اجرا نمی دهد !! اینچنین مجوزی هیچ جا بکار نمی رود شما هم در هنگام کار با مجوزها مواظب باشید اشتباهی همچین مجوزی صادر نکنید !!! همین اشتباه را درباره مجوز 666 هم مرتکب نشوید.

توضیح بیشتر: فرض کنید که برای همه پرونده ها و پوشه های سایت، مجوز 777 را تعیین کردیم. باید بگویم بازدیدکنندگان عادی سایت شما فقط امکانات و اینترفیس وبی را که شما در سایت در اختیارشان گذاشته اید در اختیار دارند، بنابراین از این طریق نمی توانند کاری کنند.

اما تعیین مجوز 777 می تواند از جهات دیگری خطرناک باشد یعنی اگر کسی سایت شما را هک کند و بتواند فرامین دلخواهش را با PHP اجرا کند، مجوز 777 به او کمک می کند که به چیزهای خیلی بیشتری دسترسی نامحدود داشته باشد و در مورد تمام فایلها و دایرکتوری ها بتواند محتویات آنها را بخواند، حذفشان کند، یا محتویاتشان را دستکاری کند و شاید اینطور بتواند هک شدن سایت را خیلی راحتتر پنهان کند و تا مدتها از سایت و کاربران شما سوء استفاده کند،

بطور مثال می تواند محتویات فایلهای PHP شما را دستکاری کند و مثلا کدهای جاسوسی در آنها کار بگذارد. بنابراین هرجا فقط مجوزهایی را که واقعا لازمست تنها در مورد فایلها و دایرکتوری هایی که لازم هست اعمال کنید.

فقط هم بحث بازدیدکنندگان نیست، امکان دارد صاحبان سایت های دیگر روی سرور اشتراکی شما که هم اکانت و دسترسی به نرم افزارها و سرویسهای سرور را دارند، بتوانند کارهای خیلی بیشتری کنند. دسترسی به فایلهای شما هم لزوما فقط از طریق PHP ممکن نیست که بگوییم مثلا تنظیم open_basedir جلوی دسترسی آنها را می گیرد، بلکه از روش ها و نرم افزارهای دیگری هم می تواند باشد و ممکنست تنظیمات امنیتی لازم در مورد آن سرویس ها درست انجام نشده باشد. مثلا طرف می تواند یک برنامه اجرایی واقعی را روی سرور اجرا کند و شاید بتواند از طریق آن برنامه خیلی محدودیت ها را دور بزند.

اینجا اگر پرمیشن های شما 777 باشد مسلما ریسک خیلی بالاتری برای جاسوسی و دستکاری و پنهان کاری وجود دارد .پس باز هم تکرار می کنم فقط مجوزهایی را که واقعا لازمست تنها درمورد فایلها و دایرکتوری هایی که لازم هست اعمال کنید. به کلام دیگر …هر فایل یا پوشه در اینترنت یک سطح دسترسی دارد .

بخش‌های اصلی سطوح دسترسی لینوکس

قاعدتا شما نمی خواهید تمام افراد به تمام فایل ها و پوشه های سایت شما دسترسی داشته باشند. سطح دسترسی یا پرمیشن (Permission) از دو بخش اصلی تشکیل شده است :

  • گروه کاربری
  • مجوز استفاده

گروه کاربری

از دید سرور سایت شما، سه گروه کاربری وجود دارد:

  • اولی User یا در بعضی موارد Owner است. این گروه کاربری یعنی خود شما. یا به عبارتی کسی که با نام کاربری و رمز عبور وارد Cpanel شده است و یا اینکه با یک نام کاربری FTP یا Web Disk به پوشه های سایت دسترسی دارد .
  • گروه دوم Group است، که شامل گروه کاربرانی است که به سایت شما دسترسی دارند، که در اینجا Cpanel شما فقط یک نام کاربری و رمز عبور دارد که خود شما هستید. به عبارتی در اینجا Group تقریبا شامل هیچ کس نمی شود!
  • و اما گروه سوم که World یا Public است. این گروه یعنی تمام کسانی که به اینترنت دسترسی دارند .حال شما باید برای هر کدام از این سه گروه مجوز استفاده صادر کنید .

مجوز استفاده

همانطور که قبلاً هم بیان شد، سه مجوز استفاده وجود دارند :

Read یا قابلیت خوانده شدن اگر Read را برای یکی از سه گروه بالا فعال کنید آن گروه اجازهی خواندن فایل یا پوشه ی مورد نظر را دارد . ارزش رقمی خواندن 4 است (در این باره توضیح داده خواهد شد).

Write یا اجازه ثبت تغییرات که اگر این مجوز به یکی از سه گروه بالا داده شود آن گروه اجازهی تغییر در فایل یا پوشه ی مورد نظر را دارند . ارزش رقمی ثبت تغییرات 2 است.

Execute یا اجازه‌ی اجرای فایل که اگر این مجوز به یکی از سه گروه بالا داده شود آن گروه اجازهی اجرا در فایل یا پوشه ی مورد نظر را دارند . ارزش رقمی اجرای فایل 1 است.

ارزش های رقمی در زیر نمایش داده شده اند. هرکدام از این مجوزها یک ارزش رقمی دارند. که ارزش رقمی کل برای یک گروه از جمع این سه عدد به دست می آید.

برای مثال اگر به گروه User ۱ خواهد بود. +2+1 هر سه مجوز را بدهید، سطح دسترسی برای این گروه معادل عدد 7 خواهد بود یا اگر به همین گروه فقط اجازه ی خواندن و ثبت تغییرات بدهیم، سطح دسترسی این گروه معادل 6.
سطح دسترسی کل: یک عدد سه رقمی است که از کنار هم قرار گرفتن سطح دسترسی سه گروه User ، Group و World به دست می آید .

برای مثال سطح دسترسی 611 برای یک فایل یعنی خود شما اجازه ی خواندن و ثبت تغییرات در آن فایل را دارید، Group و سایر افراد در اینترنت فقط اجازه ی خواندن این فایل را دارند. تنظیم سطح دسترسی پوشه ها و فایل های سایت خیلی مهم است. زیرا با اشتباه در این امر ممکن است به هکرها اجازه ی نفوذ به بخش های اصلی سایت خود را بدهید و یا اینکه به کل یک پوشه یا فایل را از دسترس همه، حتی خودتان خارج کنید!.

اگر سطح دسترسی یک فایل را معادل 000 تعیین کنید دیگر فقط می توانید آنرا حذف کنید! حتی اجازه ی اینکه سطح دسترسی آن را دوباره عوض کنید نخواهید داشت! در کل به طور خلاصه معنی سطح های دسترسی عمومی این است :

برای پرونده ها 5000 هیچ کس هیچ نوع دسترسی به این فایل ندارد و فقط خود شما می توانید حذفش کنید . 5000 به جز شما هیچ کس به این فایل دسترسی ندارد .

o۰۴۴ شما اجازه ی کار با این فایل را دارید و دیگران فقط می توانند آن را اجرا کنند .o۰۰۰ یک حالت خاص که بعضی فایلها را از دسترس نرم افزارهای نصب شده روی سایت خارج می کند .o۶۰۰ همه ی افراد همه نوع دسترسی به این فایل دارند. این سطح دسترسی فقط برای حالتهای خاص است !

برای پوشه ها 5000 هیچ کس هیچ نوع دسترسی به این پوشه ندارد .o۰۴۴ هیچ کس به جز شما اجازه ی دسترسی به این پوشه را ندارد و حتی فایل ها و پوشه های داخل این پوشه نیز قابل دسترسی نخواهند بود .o۶۱۱ شما کامل به این پوشه دسترسی دارید و بقیه فقط می توانند به فایل ها و پوشه های داخل این پوشه دسترسی داشته باشند. یعنی اگر فقط به آدرس این پوشه مراجعه شود خطای 404 صادر می شود. یعنی دسترسی مستقیم به این پوشه امکان پذیر نیست .

o۶۷۷ شما کامل به این پوشه دسترسی دارید و بقیه هم به طور کامل به این پوشه دسترسی دارند. حتی اگر فقط آدرس این پوشه را وارد نمایند و فایل index در این پوشه موجود نباشد، لیست فایل ها و پوشه هایی را که در این پوشه قرار دارند برایشان نمایش داده خواهد شد !o۶۶۶ همه ی افراد همه نوع دسترسی به این پوشه دارند. این سطح دسترسی فقط برای حالتهای خاص است !

و اما پیشنهاد ما به شما بهترین سطح دسترسی برای فایلهای شما 611 و برای پوشههای شما 711 است . البته برای بعضی از CMS ها لازم است سطح دسترسی پوشهها 777 باشد .

آخرین نوشته ها

تماس با ما

 کرج، شاهین ویلا، بلوار امام خمینی ، خیابان نهم شرقی ، برج شاهین ،طبقه اول واحد2

 91014618

  info@shopingserver.net

با تلفن ثابت بدون پیش شماره قابل شماره گیری هست و در صورتی که با تلفن همراه قصد تماس گرفتن دارید از پیش شماره استان خود را اول شماره وارد نمایید.

سبحان لطیف کار

سبحان لطیف کار

مطالب مرتبط