مشخص کردن سطح دسترسی به فایلها با CMD

استاندارد

مشخص کردن سطح دسترسی به فایلها با CMD (ویرایش فایل پرمیشن ویندوز با CMD)

مجوز فایل ها یا File Permission یکی از ویژگیهای مهم ویندوز میباشد که سطح دسترسی کاربران به فایلها را در درایو های NTFS مشخص میکند. یعنی با استفاده از این ویژگی میتوانید سطح دسترسی به تک تک فایلهای کامپیوتر خود را برای کاربران آن تعیین کنید. مثلا مشخص کنید کاربر A به کلیه فایلهای پوشه Apps دسترسی داشته باشد اما کاربر B نتواند به این فایلها دسترسی داشته باشد.

در این آموزش قصد ندارم به مباحث تئوری File Permission ویندوز بپردازم چرا که قبلا اینکار را در پستی با نام مشخص کردن مجوز فایل ها در ویندوز انجام داده ام و در فصل دوم آن یعنی پست آموزش ویرایش مجوزها در ویندوز به مباحث عملی آن پرداخته ام. در این آموزش قصد دارم نحوه ویرایش مجوز ها را با دستور ICACLS توضیح دهم که از طریق CMD سطوح دسترسی به فایلهای خود را برای کاربران تان مشخص کنید. در ادامه همراه با تی ام ال منیجر باشید.

بررسی نمودن سطوح دسترسی کاربران

ابتدا بگذارید نحوه بررسی کردن File Permission را با CMD توضیح دهم. برای بررسی نمودن مجوز فایلها باید از دستور ICACLS به همراه نام پوشه مورد نظر خود استفاده کنید. برای مثال:

ICACLS Windows

icacls-software

همانطور که در تصویر بالا مشاهده میکنید ابتدا نام حساب های کاربری ذکر شده و در جلوی آنها در علامت پرانتز یک حرف نمایش داده میشود (F) که این حرف مشخص میکند سطح دسترسی به این پوشه چقدر است.

حروف اختصاری سطح دسترسی
(F) دسترسی کامل (خواندن – نوشتن – حذف – ویرایش)
(M) اصلاح کردن (Modify)
(RX) خواندی و اجرایی (Read & Execute)
(R) فقط خواندنی (Read Only)
(W) فقط نوشتنی (Write Only)

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

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

فرض کنید یک کاربر با نام TMLMANAGER در ویندوز دارید و میخواهید این کاربر به پوشه Software دسترسی کامل داشته باشد. برای اینکه به TMLMANAGER مجوز دسترسی کامل بدهیم باید از دستور ICACLS با پارامتر Grant استفاده کنیم. برای مثال:

ICACLS Software /Grant TMLMANAGER:F

در دستور بالا ابتدا به پوشه Software اشاره شده سپس از پارامتر Grant برای دادن مجوز دسترسی به حساب کاربری TMLMANAGER استفاده شده است. که سطح دسترسی آن با علامت : در جلوی نام حساب کاربری مشخص شده.

همانطور که در جدول میبینید حرف F مشخص کننده دسترسی کامل یا Full Access میباشد. در صورتی که میخواهید از باقی سطوح دسترسی استفاده نمایید باید از حروف اختصاری مربوط به آنها استفاده کنید.

نکته: در دستور بالا گفته شده TMLMANAGER فقط به پوشه Software دسترسی کامل داشته باشد. در صورتی که میخواهید کاربر مورد نظر شما به پوشه ها و فایلهای زیر مجموع پوشه ها هم دسترسی داشته باشد باید از پارامتر /T در آخر دستور استفاده کنید. برای مثال:

ICACLS Software /Grant TMLMANAGER:F /T

منع کردن کاربران از دسترسی به فایلها

برای جلوگیری از دسترسی کاربران به فایلها و پوشه ها میتوانید از دو حالت استفاده کنید. یک دادن دسترسی Deny به فایلها، دو گرفتن دسترسی Grant از فایلها. مثلا برای اینکه کاربر A به پوشه Software دسترسی نداشته باشد باید از دستور ICACLS به همراه پارامتر /Deny استفاده کنید. به مثال زیر توجه کنید:

ICACLS Software /Deny TMLMANAGER:F /T /Q

icacls-deny-access

در دستور بالا گفته شده کاربر TMLMANAGER نتواند به پوشه Software و تمام فایلها و پوشه های زیر مجموع آن دسترسی داشته باشد.

همچنین از پارامتر /Q برای نمایش ندادن پیام های موفقیت آمیز بودن عملکرد برای تک تک فایلها استفاده شده است.

حذف مجوزهای صادر شده برای فایلها

همانطور که میتوانید مجوز دسترسی Grant یا Deny را به یک فایل اضافه کنید میتوانید این مجوزها را حذف کنید. برای مثال در بالا مجوز دسترسی کامل به پوشه Software داده شده است. برای حذف این مجوز باید از پارامتر /Remove استفاده کنید.

نحوه استفاده از پارامتر Remove با دیگر پارامتر های دستور ICACLS متفاوت است. به مثال زیر توجه کنید:

ICACLS Software /Remove:d TMLMANAGER /T /Q

icacls-remove-deny

در دستور بالا گفته شده دسترسی Deny از حساب TMLMANAGER به پوشه Software حذف شود. در صورتی که از حرف g در جلوی علامت : استفاده میشد دسترسی Grant حذف میشد. پس حرف g مشخص کنند Grant میباشد و حرف d مشخص کننده Deny

نکته: استفاده از حروف بزرگ g و d در جلوی پارامتر /Remove صحیح نمیباشد. و در صورت استفاده از حروف بزرگ دستور به درستی عمل نخواهد کرد.

بازگرداندن مجوزها به حالت پیشفرض

یکی از مزیت های کاربردی دستور ICACLS ریست کردن یا بازگرداندن مجوزها به حال پیشفرض میباشد. مثلا زمانی که شما از دستورات مختلف برای اضافه نمودن مجوزها به یک یا چند فایل استفاده میکنید ممکن است بخواهید مجوز های اضافه شده را به حالت اولیه باز گردانید برای اینکار باید از پارامتر /Reset در دستور ICACLS استفاده کنید. به مثال زیر توجه کنید.

ICACLS Software /Reset /T /Q

تهیه نسخه پشتیبان از مجوز فایلها

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

برای تهیه نسخه پشتیبان از مجوز ها باید از پارامتر /Save استفاده کنید. به مثال زیر توجه کنید:

ICACLS Software /Save Permission /T

در مثال بالا از مجوزهای پوشه Software و تمام فایلها و پوشه های زیر مجموع آن یک نسخه پشتیبان در فایلی با نام Permission تهیه میشود.

برای بازگردانی مجوزهای ذخیره شده باید از پارامتر /Restore استفاده کنید. به مثال زیر توجه کنید:

ICACLS Software /Restore Permission

پارامترهای کمک کننده دستور ICACLS

از پارامتر /Q برای از بین بردن پیام های موفقیت استفاده میشود.

از پارامتر /T برای مشخص کردن فایلها و پوشه های زیر مجموع استفاده میشود.

از پارامتر /C برای رد کردن خطاها و ادامه عملکرد تغییر مجوزها استفاده میشود.

از پارامتر /L برای اعمال تغییر مجوزها روی Symbolic Link ها استفاده میشود.

حروف اختصاری مجوزها و عملکرد آنها

حروف اختصاری عملکرد
DE حذف یا Delete
RC خواندن کنترل یا Read Control
WDAC نوشتن DAC
WO نوشتن مالکیت یا  Write Owner
S همگامسازی یا synchronize
AS دسترسی به سیستم امنیتی یا access system security
MA نهایت اجازه یا maximum allowed
GR خواندن عمومی یا Generic Read
GW نوشتن عمومی یا Generic Write
GE اجرای عمومی Generic Execute
GA عمومی بودن همه یا Generic All
RD خواندن داده ها و فهرست گیری از دایرکتوری یا read data/list directory
WD نوشتن داده ها و اضافه کردن فایل یا write data/add file
AD اضافه کردن پوشه و پوشه زیر مجموع یا append data/add subdirectory
REA خواندن ویژگیهای تمدید شده یا read extended attributes
WEA نوشتن ویژگیهای تمدید شده یا write extended attributes
X اجرا و انتقال یا execute/traverse
DC حذف Child
RA خواندن ویژگیها یا read attributes
WA نوشتن ویژگیها یا write attributes

حروف اختصاری عملکرد
(OI) object inherit
(CI) container inherit
(IO) inherit only
(NP) don’t propagate inherit
(I) permission inherited from parent container

 

 

 

 

منبع

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *