خطاهای مجوز دسترسی (Permission denied) ویندوز
در کالادنا مگ، کالادنا مگ این مقاله را برای مدیران سیستم، توسعه دهندگان و کاربران عادی آماده کردهایم تا «خطاهای مجوز دسترسی» را در ویندوز بهصورت کامل، مرحلهبهمرحله و قابل اجرا بشناسید و رفع کنید. هدف این راهنما این است که علت هر خطا، روش تشخیص، و راه حلهای سریع و پیشگیرانه را با دستورات و مثالهای کاربردی به شما بدهد.
فهرست مطالب
چرا خطاهای مجوز دسترسی رخ می دهند؟
خطاهای مجوز دسترسی معمولاً زمانی رخ میدهند که حساب کاربری فعلی، گروه یا سرویس موردنظر سطح دسترسی لازم برای خواندن، نوشتن یا اجرای فایل/پوشه/منبع شبکه را نداشته باشد. عوامل رایج:
- مالکیت (Ownership) به حساب دیگری تعلق دارد.
- مجوزهای NTFS یا Share اشتباه تنظیم شدهاند.
- UAC یا سیاستهای گروهی (GPO) دسترسی را محدود میکنند.
- فایل توسط سرویس یا پروسه دیگری قفل شده است.
- رمزنگاری EFS یا BitLocker مانع دسترسی است.
- آنتیویروس یا محافظ سیستم دسترسی را مسدود کرده است.
شایع ترین انواع خطاهای مجوز دسترسی در ویندوز
«Access is denied» یا Error 5
علت: حساب فعلی اجازه لازم را ندارد یا فایل/پوشه مالک متفاوتی دارد.
رفع: به ترتیب: مالکیت بگیرید، سپس مجوز دهید.
دستورات نمونه (در Command Prompt با Run as administrator):
takeown /F "C:\Path\To\FolderOrFile" /R /D Y
icacls "C:\Path\To\FolderOrFile" /grant Administrators:F /T
توضیح: takeown مالک را تغییر میدهد و icacls مجوزها را تنظیم میکند.
خطاهای مربوط به UAC (User Account Control)
علت: برنامه نیاز به دسترسی مدیریتی دارد.
رفع: برنامه را راست کلیک کنید و Run as administrator را انتخاب کنید. برای اسکریپتها از elevated PowerShell استفاده کنید:
Start-Process powershell -Verb runAs
خطاهای Share vs NTFS (شبکه)
علت: مجوز اشتراک (Share Permission) و مجوز NTFS ترکیب میشوند؛ حتی اگر یکی اجازه دهد، دیگری ممکن است محدود کند.
رفع: هر دو را بررسی کنید: روی پوشه Shared کلیک راست > Properties > Sharing > Advanced Sharing > Permissions و سپس Security تب را بررسی کنید. نتیجه نهایی دسترسی، تلاقی (intersection) بین دو مجموعه است.
فایل رمزنگاری شده با EFS یا درایو قفل شده با BitLocker
علت: فقط کاربری که فایل را رمز کرده یا کلید بازیابی BitLocker را دارد میتواند محتوا را باز کند.
رفع: اگر مالک اصلی هستید، از ابزارهای مدیریت EFS یا کلید بازیابی BitLocker استفاده کنید؛ در غیر این صورت باید از نسخه پشتیبان استفاده کنید.
آنتی ویروس یا قفل بودن فایل توسط پروسه دیگر
علت: فایل در حال استفاده است یا فرایند امنیتی دسترسی را مسدود میکند.
رفع: از Task Manager یا Process Explorer استفاده کنید تا فرایند قفلکننده را شناسایی و متوقف کنید. آنتیویروس را بررسی کنید و در صورت نیاز استثناء تعریف کنید.
دستور العمل های سریع و دستورات مفید

- برای گرفتن مالکیت و اعطای دسترسی:
takeownوicacls. - برای بازنشانی مجوزها به حالت اولیه:
icacls "C:\Path\To\FolderOrFile" /reset /T
- برای مشاهده مجوزها در PowerShell:
Get-Acl "C:\Path\To\FolderOrFile" | Format-List
- مثال ساده برای اضافه کردن مجوز در PowerShell:
$acl = Get-Acl "C:\Path\To\Folder"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\User","FullControl","Allow")
$acl.AddAccessRule($rule)
Set-Acl "C:\Path\To\Folder" $acl
- باز کردن فایل اکسپلورر بهصورت ادمین:
explorer.exeرا داخل یک پروسه elevated اجرا نکنید؛ به جای آن از PowerShell با دسترسی ادمین فایلها را مدیریت کنید یا از CMD elevated استفاده کنید.
جدول خلاصه خطاها و راه حل سریع
| خطا / پیام | علت معمول | راه حل سریع |
|---|---|---|
| Access is denied / Error 5 | مالک یا مجوز درست نیست | takeown + icacls |
| You need permission from [User] | مالک متفاوت | تنظیم مالک از Advanced Security |
| Cannot access network resource | Share یا NTFS محدود است | تنظیم Share و NTFS و بررسی حساب دامنه |
| File in use by another process | فایل قفل است | بستن پروسه یا ریبوت |
| EFS encrypted / BitLocker locked | رمزنگاری | استفاده از کلید بازیابی یا مالک اصلی |
| UAC blocked | نیاز به مرتبه ادمین | Run as administrator |
خطاهای مربوط به سرویس ها و شبکه
- حساب سرویس (مثل IIS AppPool یا سرویس ویندوز) باید مجوز لازم را داشته باشد. برای سرویسها، حساب را در Local Security Policy یا از طریق Services تنظیم کنید.
- در محیط دامنه، گروههای Domain Users یا گروههای محلی ممکن است سیاستهای متفاوت داشته باشند؛ Effective Permissions را در تب Advanced بررسی کنید.
پیشگیری و بهترین روش ها
- اصل کمترین دسترسی (least privilege) را رعایت کنید: به کاربران فقط آن چیزی که نیاز دارند بدهید.
- از گروهها استفاده کنید، نه اعطای مستقیم به کاربران.
- قبل از اعمال تغییرات، از مجوزها پشتیبان بگیرید:
icacls C:\path /save aclfile /T - برای فایلها و فولدرهای حساس از رمزنگاری و نگهداری کلید بازیابی استفاده کنید.
- سیاستهای گروهی (GPO) را برای اعمال استاندارد مجوزها بهکار ببرید.
🎯 سخن آخر : خطاهای مجوز دسترسی
خطاهای مجوز دسترسی همیشه ناراحتکنندهاند اما با رویکرد منظم: تشخیص مالکیت، بررسی NTFS و Share، اجرای دستورات takeown و icacls و دانستن تفاوت بین انواع مجوزها میتوان بهسرعت بسیاری از مشکلات را حل کرد. رعایت اصول پیشگیرانه مثل least privilege و پشتیبانگیری از مجوزها، از بروز مجدد این خطاها جلوگیری میکند. در مواجهه با رمزنگاری یا مشکلات شبکه، همیشه ابتدا مالک و کلیدها را بررسی کنید.
📋 سوالات متداول : خطاهای مجوز دسترسی
1.چرا بعد از کپی کردن فایل از رایانه دیگر خطای مجوز می گیرم؟
معمولاً مالکیت و مجوزها همراه فایل منتقل شدهاند؛ با takeown و icacls مالکیت و مجوز را تنظیم کنید.
2.آیا غیرفعال کردن UAC مشکل را حل می کند؟
خیر؛ غیرفعال کردن UAC امنیت را پایین میآورد. بهتر است برنامه را بهصورت Run as administrator اجرا کنید یا مجوز لازم به حساب بدهید.
3. چطور مطمئن شوم مشکل از Share است یا از NTFS؟
Share permission و NTFS permission را جداگانه بررسی کنید؛ سطح دسترسی نهایی مجموع (intersection) است.
4.چرا با وجود اینکه ادمین هستم باز هم Permission denied می گیرم؟
ممکن است مالکیت فایل متعلق به کاربر دیگری باشد یا یک Deny در ACL وجود داشته باشد. از takeown و icacls استفاده کنید یا مالکیت را از طریق Properties تغییر دهید.