اطلاعیه

بستن
No announcement yet.

مجوزهای دسترسی گنو/لینوکس به زبان آدمیزاد!

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    مجوزهای دسترسی گنو/لینوکس به زبان آدمیزاد!

    مبانی تئوریک :
    «مسئله ی دسترسی»، ریشه در سیستم عامل گنو/لینوکس و به طور مشخص «دسترسی ها در لینوکس» دارد. آنچه در اینجا مطرح می شود برای افرادی که تجربه ی زیادی در کار با این سیستم عامل ندارند ممکن است کمی نامانوس باشد ولی جای نگرانی نیست. سعی می کنیم این مفاهیم را به شکلی ساده و قابل فهم بیان کنیم.
    در گنو/لینوکس مبنای همه چیز فایل است. هر فایل علاوه بر اینکه «مالک» دارد، مشخصه ای به نام «گروه مالک» نیز دارد و این موضوع در همه ی سیستم عامل های یونیکس-مبنا صادق است. پس هر «چیز» در دنیای لینوکس، یک «فایل» است که مالک و گروه مالکی دارد. با این دید، در برخورد با «چیزها» سه حالت برای شما (بعنوان یک کاربر) اتفاق می افتد: یا شما مالک آن «چیز» هستید، یا عضوی از گروهی که مالک آن «چیز» هستند یا هیچ کدام! اصطلاحا جزء «افراد متفرقه» هستید.. یکی از همان هایی که احتمالا مالک و اعضای گروه مالک به شما «دیگران» می گویند.
    در سیستم تعیین دسترسی گنو/لینوکس، با فایل ها به همین شکل رفتار می شود. یعنی در دسترسی به فایل، کاربر در یکی از این سه دسته قرار می گیرد مالک (owner)، گروه مالک (owner group) و یا دیگران (others).

    دسته بندی کاربران از دید یک فایل در لینوکس :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	simple_linux_permission-234x300.png نمایش ها:	1 اندازه:	43.5 KB شناسه:	18212

    به نظر شما این سطح دسترسی کفایت می کند؟
    نظر توسعه دهندگان همین بوده است. این سیستم تعیین سطح دسترسی لازم است ولی کافی نیست.
    تصور کنید، شما مالک «چیزی» باشید. مثلا یک دفترچه یادداشت. ممکن است بخواهید علاوه بر خودتان گروه دوستانتان هم بتوانند آن را «بخوانند» و حتی در آن یادگاری «بنویسند» ولی دیگران فقط بتوانند آن را «بخوانند». یا اگر یادگاری های شما خیلی خودمانی باشد، ممکن است حتی نخواهید دیگران از وجود آن دفترچه اطلاعی داشته باشند.
    در سیستم تعیین دسترسی نیز چیزی شبیه این مکانیزم وجود دارد. مالک فایل می تواند تعیین کند که هر یک از سه دسته افراد «مالک» (یعنی خودش)، «گروه مالک» (احتمالا دوستانش!) و «دیگران» بتوانند کدامیک از اعمال «خواندن»، «نوشتن» و یا «اجرا کردن» را بر روی فایل انجام دهند. مالک می تواند همه ی این دسترسی ها را با هم به یک دسته یا به همه ی دسته ها بدهد.

    مجوزهای قابل اعمال بر روی فایل برای «مالک»، «گروه مالک» و «دیگران» :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	real_linux_permissions-300x277.png نمایش ها:	1 اندازه:	51.8 KB شناسه:	18213

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

    بسیار خب موافقید که این داده ها را (کمی؟) کاربردی کنیم؟

    مبانی عملی :

    دو دستور در گنو/لینوکس برای تعیین و تغییر این مجوزها وجود دارد :

    دستور تغییر مالک/گروه مالک : chown
    دستور تغییر دسترسی کاربران: chmod

    اگر فایلی به نام test.txt داشته باشیم، با کمک دستور زیر در ترمینال می توانیم مجوزهای دسترسی و مالک آن را پیدا کنیم :

    کد PHP:
    ls -l test.txt 
    خروجی این دستور چیزی شبیه این خواهد بود :

    خروجی دستور ls :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	ls-l2-300x67.png نمایش ها:	1 اندازه:	12.9 KB شناسه:	18214

    واضح است که در قسمت مربوط به «مالک» و «گروه مالک»، به ترتیب نام کاربری و گروه کاربری درج می شود. در قسمت مجوزها اوضاع شاید کمی پیچیده به نظر برسد ولی ببینید :

    مجوزها در خروجی ls :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	permissions-300x67.png نمایش ها:	1 اندازه:	9.4 KB شناسه:	18215

    در گنو/لینوکس مجوزهای دسترسی با حروف مخفف دسترسی ها مشخص می شوند :

    «خواندن»، معادل r
    «نوشتن»، معادل w
    «اجرا کردن»، معادل x

    به این ترتیب، قسمت مجوزهای این خروجی اعلام می کند، مالک فایل test.txt می تواند هم فایل را بخواند و هم بر روی آن بنویسد؛ کاربرانی که عضو گروه مالکان هستند، فقط می توانند فایل را بخوانند و دیگران هم فقط می توانند فایل را بخوانند.

    تغییر مالک فایل test.txt :
    اگر فایلی به نام test.txt داشته باشیم، برای تغییر مالک آن به کاربر root می توانیم چنین بنویسیم :

    کد PHP:
    chown root test.txt 
    خروجی را با دستور ls به شکلی که پیش تر مطرح شد، می توانید ببینید.

    توجه کنید که برای اجرای این دستور می بایست یا کاربر root باشید یا اینکه عضوی از گروه مدیران سیستم باشید و این دستور را با sudo اجرا کنید.

    برای عوض کردن مالک به root و گروه به video نیز می توانیم بنویسیم :

    کد PHP:
    chown root:video test.txt 
    تغییر مجوزهای دسترسی :
    برای تغییر مجوزهای دسترسی، باید از دستور chmod کمک بگیریم.

    این دستور را در نظر بگیرید :

    کد PHP:
    chmod u+rwx,g+rx-w,o+w test.txt 
    توجه کنید که اگر مالک فایل نباشید می بایست دستور را با sudo اجرا کنید.

    در این دستور :
    مجوزهای rwx (خواندن، نوشتن و اجرا) به مجوزهای قبلی مالک اضافه شده است. (قبل از آن ها علامت + آمده است)
    مجوزهای rx (خواندن و اجرا) به مجوزهای قبلی گروه مالک اضافه (+) شده و مجوز w (نوشتن) از این گروه گرفته شده (قبل از آن علامت منها (-) آمده است)
    مجوز w (نوشتن) به مجوزهای قبلی دیگران اضافه (+) شده است.

    به بیان تصویری :

    دستور chmod :

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	chmod-300x120.png نمایش ها:	1 اندازه:	20.5 KB شناسه:	18216

    چند نکته :
    می توانید مجوز را برای مالک یا گروه مالک یا دیگران تعریف کنید، نیازی نیست در تعیین مجوزها هر سه را با هم ذکر کنید.
    فراموش نکنید که بین تعریف مجوزها برای مالک، گروه مالک و دیگران از کاراکتر ویرگول «,» استفاده کنید.

    جمع بندی :
    در این مقاله تلاش کردیم به بیانی ساده به بررسی سیستم تعیین دسترسی لینوکس بپردازیم. برای اینکه مقاله از حالت تئوری محض خارج شود، دو دستور chmod و chown را نیز مختصرا مطرح کردیم. متشکریم از اینکه این مقاله را تا اینجا خواندید، امیدوارم این مقاله مفید واقع شده باشد.

    خسته نباشید!
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-12-2020, 12:47 AM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X