برنامه نویسی

چگونه سطح دسترسی فایل های وبسایت خود را اصلاح کنیم ؟

از اونجایی که ممکنه برای هر کدوم از ما پیش بیاد که تو یه حرکت ساده (اشتباه در اجرای دستورات لینوکس) سطح دسترسی فایل های مربوط به وبسایتمون رو تغییر بدیم ، امروز تصمیم گرفتیم که آموزش کار با سطح دسترسی های لینوکس رو براتون داشته باشیم 🙂

سطح دسترسی فایل ها در لینوکس :

ابتدا با یک سری مفاهیم آشنا شویم :

R -> read (خواندن فایل)

W -> write (نوشتن روی فایل)

X -> execute (اجرا کردن فایل)

در سیستم عامل لینوکس فایل ها با فرمت RWX سطح دسترسی مشخص میشود. ساختار سطح دسترسی به صورت ۳ RWX پشت سر هم میباشد که به ترتیب از سمت چپ متعلق به owner(مالک فایل) ، group(گروه مالک فایل) ، other(مابقی افراد – دیگران) میباشند .

مقادیر قرار گرفته برای هرکدام از R,W,X ها ۰ و یا ۱ خواهد بود ، به عبارتی معنای آن این است که آیا اجازه وجود دارد یا خیر ، مثلا 100 به این معنی است که فقط اجازه ی خواندن فایل برای دسته ی مشخص وجود دارد و اجرا و نوشتن غیر مجاز است

حال برای فهمیدن اعداد سطح دسترسی عدد ۱۰۰ را به مبنای ۱۰ میبریم (با فزض اینکه ۱۰۰ در مبنای ۲ است) که مقدار آن میشود برابر با عدد ۴ .

حالا فرض کنید که میخواهیم برای یک فایل هر سه دسترسی را آزاد کنیم که به عبارتی میشود : ۱۱۱ و مقدار آن در مبنای ۱۰ میشود : ۷

میخواهیم برای مالک فایل و گروه مالک تمام اجازه ها را برقرار کنیم اما برای دیگران فقط اجازه ی خواندن را قائل شویم : ۱۰۰ ۱۱۱ ۱۱۱ که مقدار آن در مبنای ۱۰ میشود : ۴ ۷ ۷

بعد از این توضیح مختصر میرویم به سراغ کار با دستورات تغییر سطح دسترسی در لینوکس.

کار با دستور CHMOD در لینوکس :

در ابتدا از شما دعوت میکنم که دستور زیر را اجرا کنید و داکیومنت خود دستور را مطالعه کنید :

$man chmod

ساختار دستور chmod :

$sudo chmod 644 index.php

*دستور حتما باید توسط کاربر root و یا sudoer انجام شود

*نحوه ی کار به این صورت است که سطح دسترسی مورد نظر خود را به صورت باینری به فایل های مورد نظر میدهیم.

فوت و فن های کار با CHMOD (دستورات ترکیبی لینوکس)

حالا که کار کردن با chmod رو یاد گرفتیم ، و با علم به این که در یک وبسایت فایل های .php باید دارای سطح دسترسی 644 و دایرکتوری ها (فولدر ها ) باید دارای سطح دسترسی 755 باشند (چرا ؟) ، میتوانیم اشکالات موجود در سطح دسترسی وبسایت خود را بر طرف کنیم .

اما !!!

تغییر دادن چند صد یا چند هزار فایل کار آسانی نیست .

پس باید از ویژگی های لینوکس استفاده کنیم و کار را ساده تر انجام دهیم 🙂

$cd path/to/project/directory #ورود به دایرکتوری پروژه

و دستورات زیر را اجرا کنید 🙂

$sudo find . -type d -exec chmod 755 {} \;
#تغییر دسترسی تمام دایرکتوری ها ی زیر مجموعه به ۷۵۵
$sudo find . -type f -name '*.php' -exec chmod 644 {} \;
#تغییر دسترسی تمام فایل های .php زیر مجموعه به 644

آخرین مقالات

با ما همیشه به روز باشید

در مجله اینترنتی هینزا می‌توانید به آخرین دانستنی های IT دسترسی داشته باشید.

ارتقای خدمات طراحی دیجیتال

ما منتظر شما هستیم

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

هینزا در حوزه IT و در اختیار داشتن کارشناسان خبره و با تجربه در حوزه های شبکه، برنامه نویسی و امنیت، می تواند به صورت یک جا پاسخگوی تمام نیازهای شما باشد.