مجوزهای فایل وردپرس معمولاً برای پوشهها 755، برای فایلها 644 و برای فایل حساس پیکربندی wp-config.php، بسته به ساختار سرور، ترجیحاً 600 یا 640 تنظیم میشوند. این تنظیمات ضمن حفظ دسترسیهای لازم برای خواندن و نوشتن توسط وردپرس، اجازه نمیدهند کاربران غیرمجاز تغییراتی در قالب، افزونه و فایلهای هسته ایجاد کنند. به بیان ساده، قاعده امن chmod این است که کمترین مجوز مورد نیاز برای عملکرد سایت را بدهید و از دادن مجوز اضافی خودداری کنید.
امنیت وردپرس صرفاً به رمز عبور قوی، افزونههای بهروز یا گواهی SSL محدود نمیشود. اگر مجوزهای سیستم فایل بهدرستی تنظیم نشوند، مهاجمین میتوانند فایلهای مخرب PHP آپلود کنند، فایلهای قالب را تغییر دهند، اطلاعات دیتابیس در wp-config.php را بخوانند یا پشت درهای پشتی (Backdoor) برای سایت شما ایجاد کنند. بنابراین تنظیمات chmod از مهمترین مباحث امنیتی برای کلیه سایتهای وردپرسی است، بهویژه در هاستهای اشتراکی، VPS، سرورهای ابری و سرویسهای مدیریت شده. اگر میخواهید یک زیرساخت امن و بهروز وردپرس بسازید، انتخاب درست هاست نیز بخش مهمی از این فرآیند است: بستههای هاستینگ وردپرس
مجوزهای فایل وردپرس چیست؟
مجوزهای فایل وردپرس قوانینی هستند که تعیین میکنند چه کسانی و با چه سطح دسترسی میتوانند روی فایلها و پوشههای سرور تغییر ایجاد کنند. در سرورهای لینوکس، این مجوزها معمولاً با فرمان chmod مدیریت میشوند. مقادیر chmod سه سطح دسترسی اصلی را نشان میدهند: خواندن، نوشتن و اجرا. این دسترسیها برای مالک فایل، گروه و سایر کاربران بهصورت جداگانه تعیین میشوند.
در یک سیستم مدیریت محتوای مبتنی بر PHP مانند وردپرس، تنظیم صحیح مجوزها اهمیت فراوانی دارد. تنظیمات بسیار محدود ممکن است مانع کارکرد صحیح سایت شود؛ مثلاً نتوانید فایلهای رسانهای آپلود کنید، افزونهها را بهروزرسانی کنید یا فایلهای کش ساخته شوند. برعکس، مجوزهای بسیار باز، مثل 777 که به همه اجازه نوشتن میدهد، درهای نفوذ را باز میکند و امنیت سایت را به خطر میاندازد.
چگونه مقادیر Chmod را بخوانیم؟
مقادیر chmod معمولاً با سه عدد نمایش داده میشوند. هر عدد نشاندهنده سطح دسترسی یک گروه کاربری است: اولین عدد برای مالک فایل، دوم برای گروه و سوم برای سایر کاربران. هر عدد مجموع امتیازهای دسترسی است.
- 4: اجازه خواندن
- 2: اجازه نوشتن
- 1: اجازه اجرا
- 7: خواندن + نوشتن + اجرا
- 6: خواندن + نوشتن
- 5: خواندن + اجرا
برای مثال، مقدار 755 به مالک اجازه خواندن، نوشتن و اجرا میدهد، اما به گروه و سایر کاربران تنها اجازه خواندن و اجرا را میدهد. مقدار 644 به مالک اجازه خواندن و نوشتن میدهد و به دیگران فقط اجازه خواندن. مجوز اجرا در پوشهها برای دسترسی و مشاهده محتویات آن ضروری است، به همین دلیل مجوز 755 برای پوشهها استاندارد است.
مقادیر chmod پیشنهادی برای وردپرس
هدف اصلی در نصب امن وردپرس این است که سرور بتواند سایت را اجرا کند ولی مجوزهای نوشتن غیرضروری محدود شوند. جدول زیر خلاصهای از رایجترین و امنترین مجوزهای فایل وردپرس را نشان میدهد.
| فایل یا پوشه | مجوز پیشنهادی | توضیح |
|---|---|---|
| پوشههای وردپرس | 755 | دسترسی به پوشهها فراهم میشود، مجوز نوشتن برای همه داده نمیشود. |
| فایلهای وردپرس | 644 | فایلها قابل خواندن هستند، فقط مالک میتواند آنها را تغییر دهد. |
| wp-config.php | 600 یا 640 | به دلیل داشتن اطلاعات حساس دیتابیس، باید محافظت بیشتری داشته باشد. |
| .htaccess | 644 یا 640 | تنظیمات سرور را در بر میگیرد، نباید مجوز نوشتن اضافی داشته باشد. |
| wp-content | 755 | شامل قالبها، افزونهها و فایلهای آپلود است؛ زیرپوشهها باید مدیریت شوند. |
| wp-content/uploads | 755 | برای آپلود فایلهای رسانهای، مجوز نوشتن لازم است ولی نباید 777 باشد. |
| فایلهای قالب | 644 | فایلهای PHP و CSS نباید توسط همه قابل تغییر باشند. |
| فایلهای افزونه | 644 | ریسک تغییرات غیرمجاز در افزونهها کاهش مییابد. |
این مقادیر نقطه شروعی امن برای اکثر محیطهای میزبانی مبتنی بر cPanel، LiteSpeed، Apache یا Nginx هستند. با این حال، هر سرور ساختار خاص خود را دارد. تفاوتهایی مانند PHP-FPM، suPHP، mod_php، ساختار مبتنی بر کانتینر یا مالکیت کاربر-گروه میتوانند روی مجوزها تأثیر بگذارند. بنابراین قبل از اعمال تغییرات، حتماً از سایت پشتیبان تهیه کنید و عملکرد سایت را تست کنید. درباره پشتیبانگیری منظم میتوانید از راهنمای پشتیبانگیری وبسایت استفاده کنید.
چرا مجوز 777 خطرناک است؟
مجوز 777 یعنی همه کاربران اجازه خواندن، نوشتن و اجرا روی فایل یا پوشه را دارند. این مقدار ممکن است در برخی فرومهای قدیمی یا راهنماهای نادرست به عنوان راهحل سریع پیشنهاد شود، اما در امنیت مدرن وردپرس یک ریسک جدی است. پوشهای که 777 است، میتواند هدف آپلود اسکریپتهای مخرب، تغییر فایلها یا اجرای کدهای ناخواسته باشد.
استفاده از 777 در پوشه wp-content/uploads یکی از اشتباهات رایج است. این پوشه معمولاً برای فایلهای رسانهای مانند تصاویر، PDF و ویدئوها است. اگر مهاجم بتواند از طریق یک افزونه آسیبپذیر، فایل PHP در این پوشه آپلود کند و مجوز اجرا نیز وجود داشته باشد، میتواند در سرور دستورات مخرب اجرا کند. در این حالت، فقط یک آسیبپذیری افزونه نیست که خطرناک است؛ بلکه مجوزهای بسیار باز به شدت به گسترش نفوذ کمک میکند.
به جای 777 چه باید استفاده کرد؟
معمولاً مجوز 755 برای پوشهها کافی است. اگر وردپرس نمیتواند فایلهای رسانهای آپلود کند یا افزونهها را بهروزرسانی نماید، اولین راهکار نباید دادن 777 باشد. بهتر است مالکیت فایلها بررسی شود. اگر فایلها به کاربر اشتباه تعلق دارند، وب سرور نمیتواند عملیات نوشتن را انجام دهد. در این شرایط، به جای تغییر مجوز chmod، مالکیت را با دستور chown یا ابزارهای کنترل پنل هاست اصلاح کنید.
رابطه مالکیت فایل و مجوز chmod در وردپرس
تنظیمات chmod به تنهایی کافی نیستند. اینکه فایل به کدام کاربر و گروه تعلق دارد، به اندازه مقدار مجوز اهمیت دارد. ممکن است فایل مجوز 644 داشته باشد اما اگر مالک آن نادرست باشد، وردپرس قادر به بهروزرسانی یا بارگذاری فایلها نخواهد بود. به طور ایدهآل، فایلهای وردپرس باید متعلق به کاربر هاست مربوطه باشند.
در هاستهای اشتراکی معمولاً این موضوع به صورت خودکار مدیریت میشود. اما در VPS یا سرور اختصاصی، باید هماهنگی بین کاربر وب سرور، استخر PHP-FPM و مالک سایت رعایت شود. اختصاص دادن کاربر لینوکس جداگانه برای هر سایت میتواند ریسک انتقال آسیبپذیری از یک سایت به سایتهای دیگر را کاهش دهد. در پروژههای سازمانی یا پرترافیک، این جداسازی به اندازه مجوزهای فایل اهمیت دارد و لایه حفاظتی مهمی ایجاد میکند.
چگونه مجوزهای فایل وردپرس را مرحله به مرحله بررسی کنیم؟
برای بررسی مجوزهای وردپرس میتوانید از مدیریت فایل cPanel، کلاینت FTP یا SSH استفاده کنید. مراحل زیر روندی امن و کاربردی را ارائه میدهد.
1. قبل از هر کاری از سایت نسخه پشتیبان بگیرید
قبل از اعمال تغییرات گسترده در مجوزها، حتماً از کل سایت پشتیبان تهیه کنید. این پشتیبان باید شامل فایلهای وردپرس، پوشه wp-content و دیتابیس باشد. اجرای فرمان chmod اشتباه ممکن است سایت را از دسترس خارج کند یا باعث بروز خطا در پنل مدیریت شود. اگر هاست شما قابلیت پشتیبانگیری خودکار دارد، تاریخ آخرین نسخه پشتیبان را بررسی کنید. در غیر این صورت، به صورت دستی از طریق FTP و خروجی گرفتن از دیتابیس اقدام کنید.
2. مجوزهای فعلی را لیست کنید
اگر دسترسی SSH دارید، در شاخه اصلی وردپرس میتوانید مجوزهای فایلها و پوشهها را با دستورات خاص بررسی کنید. به دنبال مجوزهای غیرمعمول مانند 777، 775 یا 666 باشید. با cPanel، ستون مجوزها در مدیریت فایل قابل مشاهده و ویرایش است.
3. پوشهها را روی 755 تنظیم کنید
مقدار استاندارد برای پوشهها 755 است. این مجوز اجازه میدهد پوشهها قابل پیمایش باشند اما همه اجازه نوشتن ندارند. در استفاده از فرمان find در SSH مراقب باشید که مجوز 755 را به اشتباه به فایلها ندهید؛ چون معمولاً فایلها نیازی به مجوز اجرا ندارند و بهتر است 644 باقی بمانند.
4. فایلها را روی 644 تنظیم کنید
برای فایلهای هسته وردپرس، قالبها و افزونهها مقدار 644 استاندارد است. این مقدار اجازه خواندن توسط وب سرور را میدهد، ولی اجازه تغییر توسط گروه و سایر کاربران را نمیدهد. اگر قابلیت ویرایش فایلها از طریق پنل مدیریت فعال است، توصیه میشود در محیط تولید این قابلیت غیرفعال شود.
5. مجوز wp-config.php را سختگیرانه کنید
فایل wp-config.php شامل اطلاعات حیاتی مانند نام دیتابیس، نام کاربری، رمز عبور و کلیدهای امنیتی است. این فایل باید مجوزی بین 600 و 640 داشته باشد. در برخی هاستهای اشتراکی 600 ممکن است باعث خطا شود، در این صورت 640 گزینه مناسبی است. پس از تغییر، عملکرد سایت و پنل مدیریت را تست کنید. در صورت بروز خطای 500 با پشتیبانی هاست مشورت نمایید. استفاده از SSL نیز برای امنیت وردپرس حیاتی است که میتوانید از خرید گواهینامه SSL اطلاعات بیشتری کسب کنید.
6. از امنیت .htaccess مطمئن شوید
فایل .htaccess برای تنظیمات پیوندهای یکتا، هدایتها، قوانین امنیتی و کشینگ استفاده میشود. معمولاً مجوز 644 کافی است، اما 640 گزینه امنتری است. اگر افزونهای نیاز به نوشتن در .htaccess دارد، بهتر است تغییرات را دستی انجام دهید و پس از آن مجوز فایل را دوباره محدود کنید.
بهترین روشها برای پوشههای wp-content، uploads، themes و plugins
پوشه wp-content بخش پرتحرک وردپرس است که شامل افزونهها، قالبها، فایلهای زبان و آپلودهای رسانهای است. بیشتر حملات از ضعف افزونهها، قالبهای قدیمی یا قابلیت بارگذاری فایلهای بدون کنترل در این پوشهها شروع میشود.
اجازه اجرای PHP در پوشه uploads را مسدود کنید
پوشه uploads معمولاً محل ذخیره فایلهای آپلود شده توسط کاربران است و نیازی به اجرای کد PHP در آن نیست. قرار دادن قوانین .htaccess یا تنظیمات Nginx برای جلوگیری از اجرای PHP در این پوشه، لایه امنیتی مهمی ایجاد میکند. حتی اگر مهاجمی موفق شود فایل PHP مخرب آپلود کند، اجرا شدن آن سخت خواهد بود. این اقدام در کنار تنظیمات chmod، امنیت سایت را چند برابر میکند.
ویرایشگر قالب و افزونه را غیرفعال کنید
امکان ویرایش مستقیم فایلهای قالب و افزونه در پنل مدیریت وردپرس، اگر حساب کاربری مدیر دسترسی پیدا کند، میتواند خطرناک باشد. با افزودن تعریف DISALLOW_FILE_EDIT در فایل wp-config.php میتوانید این قابلیت را غیرفعال کنید تا حتی در صورت نفوذ، کدهای مخرب به صورت مستقیم در پنل وارد نشوند.
قالبها و افزونههای غیرضروری را حذف کنید
قالبها و افزونههای غیرفعال و قدیمی میتوانند درهای نفوذ باشند. تنها قالب فعال، یک قالب پیشفرض به عنوان پشتیبان و افزونههای مورد نیاز باید باقی بمانند. هرچه فایلهای کمتری روی سایت باشد، سطح حمله نیز کمتر خواهد بود.
چگونه تنظیمات امنیتی سرور میتوانند chmod را تقویت کنند؟

مجوزهای فایل تنها بخشی از امنیت وردپرس هستند. اعمال اقدامات امنیتی در سطح سرور میتواند اثرگذاری این مجوزها را افزایش داده و احتمال حملات را کاهش دهد.
از نسخههای بهروز PHP استفاده کنید
نسخههای قدیمی PHP علاوه بر کندی، آسیبپذیریهای امنیتی متعددی دارند. همیشه سعی کنید آخرین نسخههای پشتیبانی شده PHP را روی هاست خود فعال کنید. نسخههای جدیدتر عملکرد بهتری دارند و در برابر حملات شناخته شده مقاومترند. نسخه PHP را در پنل هاست چک و افزونهها و قالبها را برای سازگاری با نسخه جدید تست کنید.
فایروال برنامه وب (WAF) نصب کنید
فایروالهای برنامه وب میتوانند درخواستهای مخرب را پیش از رسیدن به وردپرس فیلتر کنند. این شامل حملات SQL Injection، XSS، تلاشهای بارگذاری فایل مخرب و حملات جستجوی رمز عبور است. به خصوص سایتهای پرترافیک از WAF بهره زیادی میبرند. برای زیرساختی امنتر میتوانید گزینههای موجود در راهحلهای هاستینگ وب امن را بررسی کنید.
نمایش لیست دایرکتوریها را غیرفعال کنید
اگر لیست دایرکتوریها فعال باشد، در پوشههایی که فاقد فایل index هستند، همه فایلها برای بازدیدکننده قابل مشاهده میشوند. این اطلاعات میتواند به مهاجم در شناسایی نسخه افزونهها، قالبها یا فایلهای پشتیبان کمک کند. در Apache میتوان با دستور Options -Indexes و در Nginx با autoindex off این قابلیت را غیر فعال کرد. این کار مراحل شناسایی آسیبپذیری توسط مهاجم را سختتر میکند.
نسخههای پشتیبان را خارج از روت وب ذخیره کنید
ذخیره فایلهای بکاپ مانند backup.zip، site-old.tar.gz یا database.sql در پوشه public_html اشتباه رایجی است که باعث میشود این فایلها در صورت دسترسی ناخواسته قابل دانلود باشند. بهتر است نسخههای پشتیبان را در مسیرهایی خارج از دسترس عمومی یا در ذخیرهسازی امن و دور نگه دارید. برای مدیریت کامل دامنه و DNS میتوانید به ثبت دامنه و مدیریت DNS مراجعه کنید.
تفاوتها در هاست اشتراکی، VPS و سرور اختصاصی
اگرچه تنظیمات chmod در همه محیطها مشابه است، اما نحوه مدیریت و جزئیات آن بسته به نوع هاست متفاوت است. کاربران هاست اشتراکی معمولاً نیازی به دستکاری مالکیت فایلها یا تنظیمات امنیتی پیچیده ندارند و ارائهدهنده هاست این موارد را مدیریت میکند. اما در VPS یا سرور اختصاصی، مسئولیت تنظیم دقیق مجوزها، جداسازی کاربران، پیکربندی سرویسها، فایروال، مانیتورینگ لاگها و بهروزرسانی خودکار با شماست.
در هاست اشتراکی معمولاً مجوزهای 644 و 755 بدون مشکل کار میکنند. در VPS بهتر است هر سایت با کاربر جداگانه PHP-FPM اجرا شود. در سرور اختصاصی علاوه بر این، باید ابزارهای مانیتورینگ مرکزی، اسکن بدافزار، بررسی یکپارچگی فایلها و بهروزرسانیهای امنیتی برنامهریزی شوند. برای آژانسهایی که چندین سایت وردپرسی میزبانی میکنند، نگهداری هر سایت در حساب کاربری جداگانه اهمیت بسیار بالایی دارد تا نفوذ به یک سایت کل سرور را تهدید نکند.
اشتباهات رایج در تنظیم chmod وردپرس
اشتباهات مربوط به مجوز فایلها معمولاً از تلاش برای حل سریع مشکلات ناشی میشود. رایجترین این اشتباهات عبارتند از:
- دادن مجوز 777 به کل سایت: ممکن است مشکل آپلود یا بهروزرسانی حل شود ولی ریسک امنیتی بسیار بالایی دارد.
- نگه داشتن wp-config.php با مجوز 644: معمولاً کار میکند اما بهتر است محدودتر باشد.
- بررسی نکردن مالکیت فایلها: مشکل ممکن است از chmod نباشد بلکه chown اشتباه باشد.
- اجرای دستورات chmod بدون گرفتن پشتیبان: ممکن است سایت را از دسترس خارج کند.
- دادن اجازه اجرای PHP در uploads: ریسک بارگذاری فایل مخرب را افزایش میدهد.
- حذف نکردن افزونهها و قالبهای قدیمی: این فایلها میتوانند نقطه نفوذ باشند.
لیست بررسی امنیت chmod وردپرس
این چکلیست به شما کمک میکند قبل از راهاندازی سایت یا پس از انجام تغییرات امنیتی، موارد مهم را بررسی کنید:
- مجوز پوشهها روی 755 تنظیم شده باشد.
- مجوز فایلها روی 644 باشد.
- مجوز wp-config.php روی 600 یا 640 تنظیم شده باشد.
- مجوز .htaccess بررسی و روی 644 یا 640 باشد.
- هیچ فایل یا پوشهای با مجوز 777 نداشته باشید.
- اجازه اجرای PHP در پوشه uploads مسدود شده باشد.
- ویرایشگر قالب و افزونه غیرفعال شده باشد.
- قالبها و افزونههای غیرضروری حذف شده باشند.
- نسخه PHP بهروز باشد.
- برنامه پشتیبانگیری خودکار و بازیابی آماده باشد.
این لیست بهخصوص برای سایتهای تازه راهاندازی شده، پس از تعمیرات امنیتی یا در دورههای نگهداری توصیه میشود. امنیت یک کار یکبار نیست بلکه فرآیندی مستمر است که باید به طور منظم بررسی شود.
بعد از تغییر chmod چه تستهایی انجام دهیم؟
تغییر مجوزها نباید فقط با باز کردن صفحه اصلی سایت تست شود. وارد پنل مدیریت وردپرس شوید، یک فایل رسانهای جدید آپلود کنید، صفحه بهروزرسانی افزونهها را بررسی کنید، پیوندهای یکتا را ذخیره کنید و فرمهای تماس یا ویژگیهایی که نیاز به نوشتن داده دارند را امتحان کنید. اگر از افزونه کش استفاده میکنید مطمئن شوید که پوشه کش توانایی ایجاد فایلهای لازم را دارد. در سایتهای فروشگاهی مانند ووکامرس، فرآیند سفارش، پرداخت، فاکتور و دانلود فایلها نیز باید تست شوند.
اگر در حین تست با خطای 403 مواجه شدید، ممکن است مجوزها بیش از حد محدود باشند. خطای 500 معمولاً به مشکلات .htaccess، مجوزهای PHP یا مالکیت فایل برمیگردد. در صورت عدم موفقیت در آپلود فایل رسانهای، مالکیت و مجوزهای پوشه uploads را بررسی کنید. به جای دادن سریع 777، ابتدا لاگهای خطا را مرور کنید تا مشکل ریشهایتر حل شود.
نتیجهگیری: حداقل مجوز لازم، کلید امنیت وردپرس است
ساختار امن مجوزهای وردپرس شامل 755 برای پوشهها، 644 برای فایلها و 600 یا 640 برای wp-config.php است. اما امنیت واقعی فقط به اعداد محدود نمیشود؛ مالکیت صحیح فایلها، نسخه بهروز PHP، فایروال برنامه وب، پشتیبانگیری منظم، جلوگیری از اجرای PHP در uploads و حذف افزونههای غیرضروری نیز باید رعایت شود. با پیروی از اصل حداقل مجوز، ضمن حفظ دسترسی لازم برای عملکرد سایت، تا حد زیادی از آسیبهای دائمی به فایل سیستم جلوگیری میکنید.
اگر میخواهید سایت وردپرسی خود را روی زیرساختی امن، سریع و قابل مدیریت میزبانی کنید، میتوانید خدمات هاست، SSL و دامنه Hostragons را بررسی کنید و برای تنظیمات تخصصی با تیم پشتیبانی مشورت نمایید. بسته های هاستینگ Hostragons
سؤالات متداول
مجوزهای فایل وردپرس باید چند باشد؟
مقدار پیشنهادی معمولاً برای پوشهها 755، فایلها 644 و برای wp-config.php 600 یا 640 است. این تنظیمات در اکثر محیطهای میزبانی تعادل مناسبی بین امنیت و کارایی ایجاد میکنند.
دادن مجوز 777 به پوشه uploads امن است؟
خیر. 777 اجازه نوشتن به همه میدهد که خطر بارگذاری فایلهای مخرب را افزایش میدهد. مقدار 755 معمولاً کافی است و اگر مشکلی وجود دارد، ابتدا مالکیت فایلها را بررسی کنید.
اگر wp-config.php را روی 600 بگذارم سایت خراب میشود؟
در برخی ساختارهای سرور 600 به خوبی کار میکند، اما ممکن است باعث خطای 500 شود. در این صورت میتوانید مقدار 640 را امتحان کنید. هدف استفاده از سختترین مجوزی است که سایت به درستی کار کند.
آیا تغییر chmod بر سئو سایت تاثیر دارد؟
خود مجوز فایلها مستقیم روی رتبهبندی تأثیر ندارد، ولی اگر باعث بروز خطا یا عدم دسترسی موتورهای جستجو به فایلها شود، میتواند به صورت غیرمستقیم روی سئو تاثیرگذار باشد.
آیا میتوانم مجوزها را از طریق cPanel تغییر دهم؟
بله. در مدیریت فایل cPanel روی فایل یا پوشه کلیک راست کنید و گزینه تغییر مجوزها را انتخاب کنید. در تغییرات جمعی دقت کنید و قبل از هر کاری نسخه پشتیبان بگیرید.