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

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


برای دریافت نسخه PDF مقاله های سایت ابتدا در سایت ثبت نام کنید تا بتوانید به کلیه مقالات به صورت کاملا رایگان دسترسی پیدا کنید. ورود به سایت | ثبت نام در سایت

 

با لایک کردن و اشتراک گذاری مطالب سایت در گوگل پلاس از تی ام ال منیجر حمایت کنید

محمد برغمدی

امام علی علیه السلام: با مردم آنگونه معاشرت كنيد، كه اگر مرديد بر شما اشك ريزند، و اگر زنده مانديد، با اشتياق سوي شما آيند.

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

  • آذر 3, 1395 در10:18
    پیوندیکتا

    لطفا نحوه تغییر مالکیت فایلها رو هم بگید در ضمن باید بگم پارامتر Reset واقعا کمک کننده است چون خیلی وقت ها پرمیشن ها خراب میشن و باید دسترسی ها رو تصحیح کرد.
    عالی بود.

    پاسخ
    • آذر 3, 1395 در10:27
      پیوندیکتا

      میتونید از دستور Takeown برای اینکار استفاده کنید. البته یکی از پارامترهای دستور ICACLS میتونه مالکیت فایلها رو تغییر بده اما دستور Takeown خیلی بهتر کار میکنه
      بله بارها برای خود من چنین اتفاقی افتاده ویندوز عوض شده و تمامی Permission ها خراب شدن و مجبور شدم به صورت دستی به حالت اولیه برگردونمشون.
      موفق و پیروز باشید.

      پاسخ
  • بهمن 17, 1395 در01:36
    پیوندیکتا

    سلام خسته نباشید
    این روش رو برای فولدر windowsapps استفاده کردم جواب نداد
    ادمین هم هستم اما بعضی فولدر ها در ویندوز رو دسترسی ندارم
    روشی برای دسترسی به فولدری که گفتم میدونید؟
    ممنونم

    پاسخ
    • بهمن 17, 1395 در02:59
      پیوندیکتا

      سلام جلال جان
      میشه بگید چه روشی رو استفاده کردید؟
      پوشه WindowsApp کجاست؟ منظور شما همون پوشه C:\Windows یا چیز دیگه؟
      لطفا دستور که استفاده کردید رو بنویسید

      پاسخ
  • بهمن 17, 1395 در03:08
    پیوندیکتا

    سلام مجدد
    C:\Program Files\windowsapps
    ویندوز 10 فکر میکنم داره این فولدر رو
    البته ویندوز 8 هم استور داره احتمالا باشه
    دسترسی رو خود ویندوز فکر میکنم محدود کرده
    دستور دقیقا همون چیزی که شما گفتید استفاده کردم اما failed داد
    چند تا فولدر دیگه هم هست داخل درایو C که آنتی ویروس دسترسی داره چیزی رو پاک کنه اما ریستور نمیتونه بکنه برام جالب بود چطوری میتونم دسترسی پیدا کنم بهشون
    ممنونم از پیگیریتون <3

    پاسخ
  • بهمن 17, 1395 در05:12
    پیوندیکتا

    علیک سلام 🙂
    مالک پوشه ای ذکر شده خود ویندوز (TrustedInstaller) که برای امنیت بیشتر دسترسی شما رو به این پوشه منع کرده، برای تغییر Permission و دسترسی به این پوشه اول از همه باید ماکلیتش رو از TrustedInstaller به حساب کاربری خودتون یا گروه Administrators تغییر بدید. بعد میتونید با دستور بالا دسترسی کامل رو به این پوشه بدید. برای تغییر مالکیت هم میتونید از دستور Icacls به همراه پارامتر /setowner استفاده کنید هم از دستور takeown ولی فکر کنم اگر تغییر مالکیت بدید برگشت مالکیت به TrustedInstaller سخت باشه

    پاسخ

پاسخ دهید

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