برنامه نویسی

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

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

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

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

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 و در اختیار داشتن کارشناسان خبره و با تجربه در حوزه های شبکه، برنامه نویسی و امنیت، می تواند به صورت یک جا پاسخگوی تمام نیازهای شما باشد.