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

حتما شما در کنترل پنل هاست خودتون با سطح دسترسی یا همون Permission آشنایی دارید. در واقع شما حتما دیدید که برای هر یک از پوشه ها در هاست یا خانواده یونیکس یک عدد در نظر گرفته میشود که این عدد, سطح دسترسی به پوشه و فایل مربوطه را مشخص میکنند. اعدادی مانند 757 یا 755 یا 600 یا 644 که خیلی برای شما آشنا است.

اگر قصد دارید PHP کار کنید و در مورد این سطح دسترسی ها جیزی نمیدانید بهتر است در ادامه با ما باشید…

در ابتدا باید بدانید در یونیکس سه نوع کاربر وجود دارد. یک Owner که خود شما هستید. دوم Group که اعضای گروه شما هستند. و سوم Other که دیگران و برای ما ناشناخته هستند مانند کاربران اینترنت.

خب هر یک از این اعضا سه عملیات میتوانند روی فایل ها یا پوشه ها انجام دهند. عمل اول Read است که همان خواندن فایل یا پوشه. دوم Write است که همان نوشتن بر روی فایل یا پوشه. و سوم Execute که همان اجرا کردن فایل یا پوشه است. خب ما این سه عملیات را به صورت زیر خلاصه میکنیم:

r = Read permissions
w = Write permissions
x = Execute permissions

خب گفتیم که سه نوع کاربر داریم که هر کدام سه نوع عملیات میتوانند انجام دهند. پس نتیجه میگیریم:
Owner     Group     Other
r w x     r w x     r w x

خب حالا هر کدام از این سه عملیات یک مقدار مشخص عددی نیز دارند که در زیر مشخص شده است.

Owner     Group     Other
r w x     r w x     r w x
4 2 1     4 2 1     4 2 1

خب حالا ما برای مثال میخواهیم برای یک فایلمان دسترسی ایجاد کنیم که همه کاربران دسترسی کامل به این فایل داشته باشند. یعنی هم بتوانند فایل را بخوانند و هم درون آن بنویسیند و هم آن را اجرا کنند. برای اینکار باید اجازه همه عملیات ها را به هر سه کاربر بدهیم. خب ابتدا عملیات Read را میدهیم که دارای مقدار عددی 4 است بعلاوه عملیات Write میکنیم که دارای مقدار عددی 2 است بعلاوه عملیات Execute میکنیم که دارای مقدار عددی 1 است که جمعا 7 میشود. پس برای همه کاربران 7 میگذاریم که عدد 777 بدست می آید.

Owner     Group     Other
r w x     r w x     r w x
4+2+1     4+2+1     4+2+1
  7         7         7     = 777

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

برای مثال درون هاستمان یک فایل دارای سطح دسترسی 644 است. خب 644 یعنی چی؟

Owner     Group     Other
r w x     r w x     r w x
4+2+0     4+0+0     4+0+0
  6         4         4     = 644

در سطح دسترسی 644 کاربر Owner میتواند خواندن و نوشتن در فایل را انجام دهد اما نمیتواند آن را اجرا کند. کاربر Group فقط میتواند فایل را بخواند و کاربر Other هم فقط میتواند بخواند. به جای استفاده از 644 میتوان مانند زیر هم نوشت.

<pre">Owner Group Other r w x r w x r w x 4+2+0 4+0+0 4+0+0 r w - r - - r - - = rw- r-- r--

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