15
تشکر

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

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

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

 

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

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--

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

 

  • محمد جواد فصاحت می‌گه:

    سلام خیلی خوب بود،ممنون فقط نکته ای که هست این سطح دسترسی ها فقط برای php نیست توی گنو/لینوکس هم خیلی استفاده میشه این را هم اگه اضافه کنی خوبه

  • mojtaba می‌گه:

    سلام من یک مشکل در هاستم دارم اگه میتونید کمک کنید.من دیتا لایف انجین را در هاستم میخام نصب کنم فیال و آدرسو همه چیزشا درست آپلود میکنم ولی موقع اجرا خطای زی را میده اگه میتومنید کمک کنید
    The requested URL /install.php was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

  • حمیدرضا حیدری می‌گه:

    سلام
    به ترکی ساق اول …

  • مصطفی حسینی می‌گه:

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

    ممنون میشم پاسخ رو بفرمائید…

    • محسن شفیعی می‌گه:

      شما از این روش نمیتونید اینکارو انجام بدید.
      یک روش این هست که شما روی پوشه در سرور یوزر و پسورد قرار میدید و زمانی که کاربر میخواد از اون پوشه دانلود کنه ابتدا از کاربر یوزر و پس میگیره بعدش شما چک میکنید که آیا پول رو واریز کرده یا نه و کار مناسب رو انجام میدید. این روش از طریق htaccess انجام میشه.
      روش دیگه این هست که شما یک url به همراه query string برای کاربر درست میکنید (چه قبل پرداخت و چه بعد پرداخت) بعد زمان درخواست url، شما کاربر رو چک میکنید که آیا پول رو واریز کرده یا نه و کار مناسب رو انجام میدید.
      اگه یکم گنگ بود ببخشید. اگر در انجمن ها بپرسید میتونید ادامه بحث رو داشته باشید.


  • نظرات این مطلب بسته است.