سطوح دسترسی (Permissions):

هارد دیسک را که پارتیشن بندی می کنید ، برای اینکه بتوانید از آنها استفاده کنید ، باید Format شوند . چند عدد فایل سیستم ( FAT ، FAT 32 ، NTFS ) وجود دارند ، که ما با آنها هارد های خود را فرمت می کنیم و می دانیم NTFS انتخاب همیشگی ما خواهد بود .

در حالت NTFS یک سری قابلیت ها وجود دارند که در FAT یا FAT 32 مشاهده نمی شود . مثلا اضافه شدن تب Quota یا تب Security منوط به این است که پارتیشن شما NTFS باشد .


Permissions

ایجاد Permission :

✔️ بر روی پارتیشن های NTFS و منابعی که روی آن می نشیند ، قابلیتی داریم به اسم سطوح دسترسی (Permissions) ، همان تب Security که در تصویر بالا مشاهده کردید .

✔️ ایجاد Permission از پارتیشن شروع می شود ( یعنی می توانید بر روی پارتیشن اعمال کنید) ، همچنین بر روی File و Folder هم اعمال می شود ، به شرط آنکه NTFS باشد .

Permission ( سطوح دسترسی ) ، اینکه هر کسی از این Folder ، File و پارتیشن ما تا چه حدی می تواند استفاده کند ، داستان آن بدین صورت است :

4 تا Permission اصلی وجود دارند :

Read : کسانی که بر روی فایل یا فولدر Permission Read دارند ، می توانند فایل را باز کنند و بخوانند ، اما قدرت تغییر و پاک کردن فایل را ندارند .
✔️حالتی به اسم Read & Execute هم وجود دارد ، که همان قابلیت Read را دارد ، اما برای فایل های اجرایی است .
✔️ کسی که بر روی فایل یا فولدری قدرت Read دارد ، می تواند لیست Permission ها را ببیند ، اما Edit نمی تواند بگیرد .( فقط Full Controll این قابلیت را دارد )

Write : یک پله بالاتر از Read می باشد . کسانی که بر روی فایل و فولدر Permission Write دارند ، می توانند فایل را باز کنند و تغییر دهند ، اما قدرت پاک کردن را ندارند .

Modify : یعنی می توانند فایل را باز کنند ، تغییر دهند و همچنین پاک کنند . اما نمی توانند Permission خود و دیگران را تغییر بدهند .
✔️ مثلا اگر روی یک فایل Permission Modify دارید و بخواهید به User دیگری هم Permission Modify بدهید ، امکان پذیر نیست .

Full Control : علاوه بر مشاهده ، تغییر و حذف فایل ، می توانید Permission ها را تغییر دهید .

👈 No Access : جزء Permission های اصلی نیست ، اما قابلیت آن برای ما وجود دارد که اجازه باز کردن فایل را به کاربر نمی دهد .


عملکرد Permissions :

✔️ بر روی فایل Propertise گرفته و وارد تب Security شوید . صفحه از 2 بخش تشکیل شده است :
بخش بالا : یک سری User و Group در لیست قرار داده شده است .
بخش پایین : قابلیت های کاربران شما است . با انتخاب هر کدام از User یا Group در بخش بالا ، سطوح دسترسی در بخش پایین قابل مشاهده است .

✔️ اگر Permissions شما در ستون Allow تیک خورده باشد ، یعنی این قابلیت را دارد و اگر در ستون Deny تیک خورده باشید ، این قابلیت را ندارد .
مثلا Administrator 👈 User ، ذاتاً Full Control را دارد .


Permissions

قوانین در بحث Permissions :

1 اگر کاربری عضو گروهی باشد و آن گروه در لیست ما Permission داشته باشد ، آن کاربر نیز اتوماتیک آن Permission گروه را به ارث خواهد برد .
مثلا : Ali 👈 User ، عضو گروه Users است ، که گروه Users فقط قابلیت Read را دارد . بنابراین نیازی نیست که مجدداً Ali را صدا بزنیم و به آن Permission Read را بدهیم .

2 اگر کاربری از یک گروهی ، قدرت را بگیرد و از یک سمت دیگر قدرتش گرفته شود ، آن گرفته شده شرط است .

3 اگر کاربری هم خودش و هم گروهش در لیست نباشد ، حکم آن Deny است . ( فایل هم برای آن باز نمی شود )

4 کاربری که در بخش پایین ، هم در ستون Allow و هم در ستون Deny تیک داشته باشد ، حکم آن Deny است .

5 اگر کاربر مورد نظر در لیست باشد ، اما Permission را نه در ستون Allow و نه در ستون Deny تیک داشته باشد ، حکم آن Deny است .

👈 کلاً سیستم برای هر چیزی که مجهول است ، حکم Deny را در نظر می گیرد . اصطلاحاً می گوییم ، Deny از Allow ارجع تر است .

قسمت اول سناریو :

برای کاربری به اسم Permission ، Ali های 👈 Write ، Read و No Access در نظر بگیرید .

Permission Read : علی خودش عضو گروه Users است و قاعدتاً از گروه Users این قابلیت را به ارث برده است . بنابراین نیازی نیست آن را دوباره صدا بزنم و Permission به آن بدهیم .


Permissions

Permission Write : ابتدا باید Ali را به لیست فراخوان کنیم .

✔️ بعد از گرفتن Propertise بر روی فایل ، Edit را انتخاب کنید .
✔️ در مرحله بعد کلید Add را بزنید.
✔️ در پنجری باز شده نام User را تایپ کرده و گزینه Check Names را کلیک کنید .

👈 Ali به لیست اضافه شد . همانطور که مشاهده می کنید ، به دلیل اینکه Ali عضو گروه Users بود 2 تیک برای آن فعال است . حال ما Write را به آن اضافه می کنیم .
نکته : اصلاً به این عنوان نگویید که ، اگر من Write را تیک بزنم ، چون یه پله بالاتر از Read است ، بنابراین Read هم دارد . 👈 خیر . پایین دست را کلاً تیک بزنید .
( در حقیقت وقتی Permission پایین دست ندارید ، Permission بالا دست کار نمی کند )


Permissions

Permission No Access : هر وقت خواستید شخص یا گروهی را محروم از فایل یا فولدری کنید ، کافی است تمام ستون Deny را تیک بزنید .

✔️ بعد از گرفتن Propertise بر روی فایل ، Edit را انتخاب کنید .
✔️ در مرحله بعد کلید Add را بزنید.
✔️ در پنجری باز شده نام User را تایپ کرده و گزینه Check Names را کلیک کنید .
✔️ بعد از اضافه شدن Ali به لیست ، تمام ستون Deny را تیک بزنید ، که اصطلاحاً به آن No Access گویند .
✔️ بعد از Apply ، سیستم به شما اخطار داده و می گوید ، طرف را داری از ریشه میزنی . میگم اشکالی نداره ، درستش همینه و ادامه می دهم .


Permissions

👈 با اکانت Ali به سیستم Login کرده ، تا نتیجه Pemission های تنظیم شده را مشاهده کنیم .

Permission No Access بر روی فایل اعمال شده ، اما Permission های Read و Write بر روی هیچ کدام از فایل ها اعمال نشده اند و هیچ سپری ندارد .😐
پناه بر خدا 😦 این چه نوع Pemission است ، که همه کاری می کند .


Permissions

ما فکر کردیم که Ali ظاهراً عضو گروه Users است ، اما عضو یک سری گروه های مخفی است که ما آنها را نمی بینیم .مثلا Ali عضو گروه Everyone است ( یعنی همه) ، که ما در لیست Everyone را نداریم .

سوال :
کاربری که User Name و Password خود را جهت ورود به سیستم وارد می کند ، آیا من می توانم بگویم این کاربر ، یک کاربر شناسایی شده است ؟ بله درست است . که اصطلاحاً به آن Authenticated Users گویند ، که قدرت آن Modify دارد.

هر کاربری که User Name و Password خود را جهت ورود به سیستم وارد می کند ، ظاهراً عضو گروه Users می باشد ، اما به صورت اتوماتیک عضو گروه Authenticated Users است که قدرت Modify دارد . به خاطر همین Ali تا مرز پاک کردن پیش رفت .

راه حل چیست ؟

2 راه وجود دارد :
1 حد قدرت Authenticated Users را پایین بیاوریم . ( تیک Modify آن را برداریم ) ، البته به دلیل ارث بری این گزینه غیر فعال است ، بنابراین از روش دوم استفاده می کنیم .
2 کلاً Authenticated Users را از لیست حذف کنیم . وقتی در لیست نباشد ، Ali از گروه Users ارث بری می کند و مشکل ما حل خواهد شد .

حذف Authenticated Users :

✔️ بعد از گرفتن Propertise بر روی فایل ، Edit را انتخاب کنید .
✔️ در مرحله بعد گروه Authenticated Users را انتخاب و گزینه Remove را کلیک کنید .
✔️ Remove را که انتخاب کنید یک پیام به ما می دهد که متن پیام بدین شرح است :

من به خاطر اینکه قابلیت ها را از Parent به ارث ( inheriting ) بردم ، به بابام بگو بیاد منو را از اینجا بردارد . من را سیستم عامل اینجا گذاشته تو که نگذاشتی ، بنابراین به سیستم عامل بگو بیاد منو از اینجا بردارد .


Permissions

سوال :
زمانی که یک فایل را می سازید ، Permission آن چیست ؟

✔️ Permission آن فولدری که فایل مورد نظر در آن قرار دارد .
✔️ این Folder من است ، یک Folder دیگر در آن می سازیم ، Permission این Folder هر چی است روی Folder من تأثیر می گذارد .
✔️ حال این Folder در Folder دیگری است که از بابا بزرگ ، Permission را گرفته است . این بابا بزرگ در درایو C نشسته است . در نهایت همه اینها به جدّ خودشان ، پارتیشن بر می گردند .


حذف قائده به ارث بری :

✔️ در تب Security ، گزینه Advanced را انتخاب کنید .
✔️ در ستون inherited from نوشته شده که ، من از Parent به ارث بردم.
✔️ در قسمت پایین دکمه Disable inheritance را کلیک کنید .


Permissions

بعد از انتخاب Disable inheritance سیستم از ما می پرسد که ، چگونه به ارث نبرم . ( به صورت Convert یا به صورت Remove )

✔️ Convert inherited permissions into explicit permissions on this object : 👈 لیست را نگه می دارم ، اما از این به بعد به ارث نمی برم .

✔️ Remove all inherited permissions from this object : 👈 لیست را کلاً پاک می کنم و از این به بعد هم به ارث نمی برم .

اینکه لیست بماند یا تخلیه شود ، من از گزینه Convert استفاده می کنم و می گویم ، لیست را نگه دار ، اگر چیزی خواستم خودم کم و زیاد می کنم .


Permissions

تمام این کار ها را انجام دادیم که به سیستم بفهمانیم گروه Authenticated Users اضافی است و باید Remove شود .
حالا Ali شد آن چیزی که شما می خواستید . تقصیر خودش نبود، دوستان نابابی به نام Authenticated Users او را دوره کرده بودند ، ما دوستان را از دور او پراندیم . حال مجدداً با اکانت Ali وارد سیستم می شویم .


Permissions

قسمت دوم سناریو :

سوال :
Ali در کامپیوتر خودش یک فولدر ساخته و یک فایل در آن قرار می دهد . Ali بر روی این فایل چه قدرتی دارد ؟ 👈 قدرت Modify به دلیل گروه Authenticated Users .
به نظر شما کسی که Modify است ، می تواند Permission عوض کند ؟ خیر . پس چرا در تب Security ، گزینه Edit سپر ندارد ؟ 🤔

✔️ کسی که فایل یا فولدر را می سازد ، اصطلاحاً می گوییم Owner آن است و Owner قدرت Full Control دارد .به همین دلیل گزینه Edit فعال است .

✔️ در تب Security قسمت Advanced ، صاحب آن مشخص شده است .


Permissions

داستان چیست ؟

👦 Ali تصمیم می گیرد به مدت یک هفته به مرخصی برود .
👦 Ali پیش خودش می گوید ، خیلی هم خوب ، حالا دیگه به من قدرت Permission نمی دید .
این یک هفته ای که قرار است به مرخصی بروم ، من رو فایلم به هیچکسی Permission نمی دهم .ای حال میده 😄 . تو این یک هفته که نیستم، زنگم میزنند و منم گوشیم را خاموش می کنم .
👦 Ali تصمیم می گیرد ، قائده به ارث بری را حذف کند و از کلمه منحوص Remove استفاده می کند . وقتی در لیست کسی نباشد ، هیچکسی Permission نخواهد داشت .😈
👦 Ok را که می زند ، سیستم اخطار می دهد و می گوید ، هیچکس قدرتی ندارد . مشکلی نیست ، Yes می زنم .

البته یک بحث کوچکی پیش می آید . بر روی فایل خودش که کلیک می کند ، قدرت ندارد ، اما Ali حواسش کاملاً جمع بود . او Owner فایل است . درست است که الان Owner نمی تواند فایل را باز کند ، اما هفته آینده بر روی فایل Propertise می گیرد و از تب Security قسمت Edit ، خودش را به لیست اضافه می کند .


Permissions

👦 Ali از دوستان حلالیت می طلبد و عازم سفر می شود . 🤚
👨‍🦱 فردای آن روز کاربری به نام Hasan ، در مدت زمانی که Ali نیست ، وظایف او را بر عهده می گیرد .
👨‍🦱 بر روی فایل دبل کلیک می کند و Access Denied 👈 Error را مشاهده می کند . ( آقای فلانی فکر کنم کامپیوتر ویروسی شده ، یک پیام عجیبی می بینم )
👨‍💼 مدیر IT متوجه می شود که ، این پیغام خطا مربوط به Permission است .
👨‍💼 با User خودش که زیر گروه Administrator است ، Login می کند . اما فایل برای او هم باز نخواهد شد ( او هم در لیست نیست ) چه برسد به Hasan .


Permissions

البته Ali فکر یک جایی را نکرده بود که ، این داستان Permission ها یک شاه کلید دارد و آن شاه کلید دست Administrator است .

✔️ Administrator قدرتی دارد به اسم تصاحب کردن . 👈 Owner آن علی بوده ؟ از این به بعد صاحبش من خواهم شد . اگر صاحب آن باشم ، Full Controll دارم و می توانم برای حسن Permission تنظیم کنم .
✔️ بر روی فایل Propertise و از تب Security ، گزینه Advanced را انتخاب کنید .
✔️ Change را از قسمت Owner انتخاب و صاحب آن را مشخص کنید .
✔️یک بار دیگر صفحه را باز و بسته کنید و از قسنت Edit به افراد Permission دهید .


Permissions

Special Permissions :

در تصویر پایین تعدادی قانون را با هم بررسی می کنیم . دانستن این قوانین خوب است ، اما بیشتر جنبه امتحانی دارد ، مثلا می خواهید در امتحان بین المللی Microsoft شرکت کنید و یک سناریو تعریف می کنند ، User فلان این قدرت را دارد و غیره … حالا وضعیت Effective Permissions کاربر را حساب کنید .

✔️ User1 بر روی Permission Read 👈 Folder A دارد . نتیجه این است که ، بر روی فایل های Folder A نیز ، Permission Read دارد .
✔️ User1 عضو Group B هم می باشد و Group B بر روی فولدر Permission Write دارد . نتیجه این است که ، User1 بر روی فولدر و 2 فایل زیرمجموعه قدرت Read و Write دارد .
این نشان می دهد که ، Permission NTFS جمع پذیر ( Cumulative ) هستند . ( مجموع به ارث می رسد )

✔️ حالا User1 ، عضو Group A شد و Group A بر روی فایل دوم Permission Write ندارد . نتیجه این است که ، User1 بر روی فایل دوم Permission Write ندارد .
این نشان می دهد که ، Deny از Allow ارجع تر است .


Permissions

در دنیای واقعی ، نیازی نیست شما به خودتان زحمت بدهید و اینها را محاسبه کنید . به سیستم بگویید من می خواهم بدانم وضعیت Ali 👈 User الان چیست ؟
خود سیستم حساب می کند . ( Ali از چه گروهی چه چیزی دارد یا چه چیزی ندارد ، آنها را برای شما لیست می کند )

✔️ بر روی فایل Propertise و از تب Security ، گزینه Advanced را انتخاب کنید .
✔️ تب Effective Access را انتخاب و Select a User را کلیک کنید .
✔️ در مرحله بعد View Effective Access را انتخاب کنید تا وضعیت User مورد نظر را بر روی این فایل بررسی کنید .

لیستی را که مشاهده می کنید ، در حقیقت Special Permission ها هستند . Special Permission یعنی ، ریز شده آن 5 تا Permission اصلی .👈 Full Control ، Modify ، Write ، Read

مثلا ، زمانی که به یک فایل Permission Read می دهید ، بدان معنا نیست که فقط فایل را باز کند . مثلا شما قدرت Read Attributes یا قدرت خواندن Read Permissions ( قبلا گفتیم صفحه Permission باز می شد ، اما Edit آن سپر داشت ) را به آن می دهید .


Permissions

تغییر Special Permissions :

اگر احساس می کنید که مثلا ، از Permission Write یک بخش باشد یا نباشد ، باید در صفحه اصلی Special Permissions دنبال آن بگردید .

✔️ بر روی فایل Propertise و از تب Security ، گزینه Advanced را انتخاب کنید .
✔️ در پنجره باز شده User مورد نظر را انتخاب و Edit بگیرید .
✔️ نوع قابلیت های Allow و Deny را از قسمت Type انتخاب کنید .
✔️ بعد از مشاهده لیست ، Show Advanced Permissions را انتخاب کنید .

نکته ای که حائز اهمیت است ، زیاد خودتان را منوط به این نکنید ، که من حتما باید Special Permission ها را درست کنم . تا جایی که ممکن است با همان 4 تا Permissions اصلی کار کنید ، زیرا خیلی از وقت ها خروجی Special Permission ، آن چیزی که شما فکر می کنید ، در نمی آید .


Permissions

سطح دسترسی Copy :

در تصویر پایین قوانین مربوط به Permission ها ، به هنگام Copy و Past کردن منابع را بررسی خواهیم کرد .
یک فایل داریم که در پارتیشن C قرار دارد . ( منظور تصویر در Root درایو C نیست ، یک فولدری در درایو C ) 👈 ما بر روی این فایل قدرت Full Control داریم .

✔️ اگر ما از این فایل Copy بگیریم و آن را در همان پارتیشن ، Past کنیم 👈 Permission مقصد را به ارث می برد . ( Destination Folders ، هرچی مقصد گفت )
مثلا : روی مقصد Permission Write دارید ، فایلی که Full Control است را در Folder دیگری Past کنم ، Permission آن Write خواهد بود .

✔️ داستان بالا برای زمانی که Copy کنید و در یک پارتیشن دیگری Past کنید هم اتفاق می افتد . بنابراین پارتیشن چه عوض شود یا نشود ، مقصد شرط است .

2 نکته در Copy کردن حائز اهمیت است :

1 جهت Copy کردن یک فایل ، حداقل Permission آن در مبداء باید Read باشد .
2 حداقل Permission مورد نیاز در مقصد ، جهت Past شدن باید Write باشد . زیرا دارید یک چیز را به وجود می آورید .


Permissions

سطح دسترسی Cut :

در تصویر پایین قوانین مربوط به Permission ها ، به هنگام Cut و Past کردن منابع را بررسی خواهیم کرد .
بدانید و آگاه باشید ، تنها در یک حالت است که ، Permission همانی که است باقی می ماند . یعنی اگر این حالت در ذهنتان باشد ، تکلیف بقیه حالت ها ( که مقصد شرط است ) مشخص خواهد بود .

✔️ تنها حالتی که Permission تغییر نمی کند این است که ، یک فایل را Cut کنید و آن را در همان پارتیشن Past کنید ، صرف نظر از اینکه مقصد چه چیزی می گوید .

2 نکته در Cut کردن حائز اهمیت است :

1 جهت Cut کردن یک فایل ، حداقل Permission آن در مبداء باید Modify باشد .
2 حداقل Permission مورد نیاز در مقصد ، جهت Past شدن باید Write باشد .


Permissions

👈 تمام مطالبی که در بحث NTFS Permission تعریف کردیم ، در ویندوز Server هم اتفاق می افتد ، اما با این تفاوت که در ویندوز سرور گروه Authenticated Users وجود ندارد .