از آنجا که امنیت در لینوکس یک امر حیاتی است، برای هر فایلی یک سطح دسترسی تنظیم شده. سطوح دسترسی یک فایل، به شما اجازه مشاهده، ویرایش یا نوشتن روی یک فایل را خواهند داد. همان ReadOnly که در ویندوز داشتیم و داریم. اما با کمی چاشنی امنیتی بیشتر!
وردپرس هم با PHP نوشته شده و طبیعتا بهترین سیستمعامل برای اجرای پی اچ پی، لینوکس است. فرقی نمیکند کدام نسخه از لینوکس اما همه لینوکسها برای هر فایل و پوشهای سطح دسترسی تنظیم میکنند و این سطح دسترسی برای هر فایلی متفاوت است. پس وردپرس برای اجرای برخی کارها نیاز دارد تا سطح دسترسی برخی از فایلها را تنظیم کند.
انواع سطوح دسترسی فایلها
سطوح دسترسی مختلفی برای نمایش فایلها داریم. وقتی میگوییم سطح دسترسی یک پوشه 755 است یعنی دسترسی پوشه به این شکل تنظیم شده:
5 5 7 |
---|
user group world |
r+w+x r+x r+x |
4+0+1 4+0+1 4+2+1 |
جدول زیر دارای ۳ حرف r و w و x است که به شرح زیر تعریف میشود:
- Read به معنای خواندن فایل برابر با عدد ۴
- Write به معنای نوشتن روی فایل برابر با ۲
- eXecute به معنای خواندن، ویرایش ، نوشتن و حذف فایل یا پوشه برابر با ۱
چند مثال برای سطح دسترسی فایلها
0477 | -r–rwxrwx | owner has read only (4), other and group has rwx (7) |
0677 | -rw-rwxrwx | owner has rw only(6), other and group has rwx (7) |
0444 | -r–r–r– | all have read only (4) |
0666 | -rw-rw-rw- | all have rw only (6) |
0400 | -r——– | owner has read only(4), group and others have no permission(0) |
0600 | -rw——- | owner has rw only, group and others have no permission |
0470 | -r–rwx— | owner has read only, group has rwx, others have no permission |
0407 | -r—–rwx | owner has read only, other has rwx, group has no permission |
0670 | -rw-rwx— | owner has rw only, group has rwx, others have no permission |
0607 | -rw—-rwx | owner has rw only, group has no permission and others have rwx |
سطح دسترسی مناسب وردپرس
هر سیستمی با استفاده از یک سطح دسترسی متفاوت، وردپرس را اجرا میکند. اما قصد دارم یک نمونه سطح دسترسی در وردپرس که در حالت استاندارد وب سرور اجرا میشود، به شما معرفی کنم. استانداردی که سرور با آپاچی راه اندازی شده و suexec روی هاست فعال باشد.
تمام فایلهای شما باید توسط یوزر ftp قابل ویرایش، حذف و نوشتن باشد. در نتیجه همیشه باید یوزر www یا apache یا nobody سطح دسترسی مورد نیاز را داشته باشد.
نکته: در برخی هاستینگها مقدار ۰۷۵۵ را بصورت ۷۵۵ و مقدار ۰۶۴۴ را بصورت ۶۴۴ تعریف میکنند.
سعی کنید سطح دسترسی فایل های سایت را به ۶۴۴ و پوشه ها را به ۷۵۵ تغییر دهید.
تمام فایل ها و زیر پوشه ها باید تنظیم شوند نه فقط پوشه اصلی. از آنجایی که شما قابلیت ویرایش دسته جمعی سطح دسترسی فایلها و پوشهها را ندارید، بهتر است از هاست مخصوص وردپرس استفاده کنید.
اگر نمی توانید هاست را تغییر دهید باید به هاست خود تیکت دهید تا این مورد را برای شما انجام دهند چون تعداد فایل ها و پوشه ها زیاد است. لازم به ذکر است هاست شما باید از طریق ssh این کار را انجام دهد.
suexec چیست؟
suexec یک رویکرد تنظیم سرور است که هر فایل را با استفاده از سطح دسترسی کاربر همان سایت اجرا میکند. در نتیجه بهترین حالت امنیتی برای سرور شما خواهد بود.
نکته: از suexec فقط در سایتهایی که هاستینگ اشتراکی دارند استفاده کنید. اگر سایت شما توسط سرور اختصاصی خود بصورت Single Site میزبانی میشود، نیازی به فعالسازی suexec نیست.
تغییر سطح دسترسی در وردپرس
اگر میخواهید سطح دسترسی فایلها را تغییر دهید. از روشهای مختلف میتوانید اینکار را انجام دهید. روشهای مختلفی از جمله کنترل پنل هاست شما، SSH و نرم افزارهای اف تی پی مثل فایل زیلا
تغییر سطح دسترسی فایل با استفاده از FTP
برای تغییر سطح دسترسی فایل با استفاده از اف تی پی ابتدا باید با یک کلاینت اف تی پی وارد فایل منیجر سایتتان شوید. با استفاده از آموزش فایل زیلا، وارد FTP سایتتان شوید. سپس فایل مورد نظر را پیدا کنید.
مطابق تصویر بالا، روی فایل راست کلیک کرده و گزینه File Permissions را کلیک کنید. سپس مقدار سطح دسترسی فایل را وارد کرده و کلید اینتر را بفشارید.
تغییر سطح دسترسی فایل در سی پنل
برای تغییر سطح دسترسی فایل ابتدا وارد سی پنل شوید.
به انتهای آدرس سایتتان یک /cpanel اضافه کنید. مثلا: mihanwp.com/cpanel
اگر با این آدرس به سی پنل وارد نشدید. از هاستینگ خود آدرس و اطلاعات ورود به سی پنل را دریافت کنید.
بعد از وارد شدن به سیپنل، روی گزینه File Manager کلیک کنید تا وارد مدیریت پوشهها و فایلهای سایتتان شوید.
حالا فایل یا پوشه مورد نظرتان را انتخاب کنید و روی آن راست کلیک کنید. سپس گزینه Change Permissions را کلیک کنید.
سپس سطح دسترسی مورد نظر خود را انتخاب کنید.
خطای برخی از پروندهها توسط وردپرس قابل نوشتن نیستند
خطای “برخی از پروندهها توسط وردپرس قابل نوشتن نیستند: xmlrpc.php” در وردپرس معمولاً به مشکلات مربوط به دسترسیهای فایل مربوط میشود. برای حل این مسئله، به روش ساده و قدم به قدم پیش میرویم:
بررسی دسترسیهای فایل: اول از همه، باید دسترسیهای فایل xmlrpc.php
رو بررسی کنی. این فایل باید دسترسیهای خواندن و نوشتن مناسب داشته باشه. معمولاً دسترسی 644
کافیه.
تغییر دسترسیها: اگر دسترسیهای فایل درست نیست، باید اونها رو تغییر بدی. این کار رو میتونی از طریق یک مدیریت فایل در هاستینگت یا با استفاده از FTP انجام بدی. فایل xmlrpc.php
رو پیدا کن و دسترسیهاش رو به 644
تغییر بده.
بررسی افزونهها و قالبها: گاهی اوقات، افزونهها یا قالبهای ناسازگار میتوانند باعث ایجاد مشکلاتی شوند. اگر بعد از تغییر دسترسیها همچنان مشکل وجود دارد، سعی کن افزونهها و قالبهات رو غیرفعال کنی و ببینی آیا مشکل حل میشه یا نه.
بررسی فایل .htaccess
: گاهی اوقات تنظیمات نادرست در فایل .htaccess
میتوانند باعث این خطا شوند. این فایل رو چک کن و مطمئن شو که تنظیماتش درسته.
امیدواریم از این آموزش استفاده لازم را کرده باشید.
منابع: wikipedia – wordpress.org – mihanwp – youtube