Разбиране и управление на файловите разрешения в cPanel

Файловите разрешения определят кой може да чете, променя или изпълнява файлове и папки във вашия хостинг акаунт. Правилните разрешения са от съществено значение за поддържане на сигурността на уебсайта и правилната работа както на cPanel акаунта, така и на хостваните сайтове.


Какво представляват файловите разрешения?


На хостинг сървъри с Linux (използвани от cPanel), всеки файл и папка имат Собственик, Група и набор от Правила за разрешения.

Разрешенията определят какви действия са позволени за:

  • Потребител (Собственик) - вашият cPanel акаунт

  • Група - група на ниво сървър

  • Други/Всички - всички останали на сървъра

Всеки от тях може да има три типа достъп до файлове и директории:

  • Четене (r) - позволява преглед на съдържанието на файла / изброяване на файловете в папката

  • Запис (w) - позволява промяна на файла / добавяне или изтриване на файлове в папката

  • Изпълнение (x) - позволява стартиране на файла (скриптове, приложения) / влизане / достъп до папката

Забележка: Папката трябва да има Изпълнение (x) разрешение, за да бъде достъпна.


Нивото на достъп също се определя с числа:

  • 0 - няма достъп до файла

  • 1 - само изпълнение

  • 2 - само запис

  • 3 - запис и изпълнение

  • 4 - само четене

  • 5 - четене и изпълнение

  • 6 - четене и запис

  • 7 - четене, запис и изпълнение (пълни разрешения)

Примери: най-често използваните 755 и 644

  • Собственик: 7 - четене, запис, изпълнение

  • Група: 5 - четене, изпълнение

  • Други: 5 - четене, изпълнение

  • Собственик: 6 - четене, запис

  • Група: 4 - четене

  • Други: 4 - четене

За да сте сигурни, че файловете на вашия уебсайт се показват правилно в браузъра, препоръчваме да използвате следните разрешения:

HTML и файлове с изображения трябва да бъдат с 644 (0644) - това позволява на всички потребители да четат файловете, но само собственикът на акаунта може да ги променя. Тези разрешения обикновено се задават автоматично при създаване на файла.

Папки трябва да бъдат с 755 (0755) - това позволява на другите да четат и достъпват съдържанието на папката, но само собственикът на акаунта може да ги променя. Тези разрешения обикновено се задават автоматично при създаване на папката.

CGI файлове (обикновено разположени в папката cgi-bin) трябва да бъдат с 755 (0755). Това позволява на другите да четат и изпълняват файловете, но само собственикът на акаунта може да ги променя. Тези разрешения не винаги се задават автоматично и може да се наложи да бъдат коригирани ръчно.

Забележки

  1. Избягвайте да задавате разрешения 777, тъй като това създава сериозен риск за сигурността.

  2. Неправилните разрешения могат значително да отслабят сигурността на вашия хостинг акаунт, като позволят на неоторизирани потребители да променят вашите файлове, да разкрият чувствителни конфигурационни данни и да увеличат риска от заразяване с вреден софтуер.

  3. От гледна точка на функционалността на уебсайта, неправилните разрешения могат да причинят 500 Internal Server Error, грешки като "403 Permission denied", неуспешно качване на медии, проблеми с инсталиране на плъгини или теми и др.


Как да промените разрешенията за файлове и директории


Разрешенията могат да се променят по три основни начина: чрез File Manager (в cPanel), SSH (команден ред) или чрез cron задача (автоматично изпълнение на команда). Всеки метод е подходящ за различни ситуации.

  • File Manager

Полезно, когато трябва да промените разрешенията за един или няколко файла/папки.

  1. Влезте във вашия cPanel акаунт, отидете в секцията Files и отворете менюто File Manager.

    Или от Hosting Manager, кликнете върху Управление до хостинг плана, отидете на Файлове и съхранение и натиснете Управление на файлове до името на уебсайта. Ще бъдете пренасочени към основната папка на домейна във File Manager.

  2. Ще видите текущите разрешения в дясната колона, наречена Разрешения:


  3. За да редактирате текущите разрешения за определен файл/папка, просто кликнете веднъж върху разрешенията на файла, задайте необходимите числа и натиснете Запази (или Enter):


    Също така, разрешенията могат да се променят чрез десен клик върху файл/папка и избор на опцията Промяна на разрешенията. Ще се появи съответен прозорец:



    Настройте отметките и кликнете върху Промяна на разрешенията, за да запазите.


    Съвет: Същата таблица с настройки се отваря при използване на горното меню на File Manager, опцията Разрешения:


  • SSH команден ред

SSH ви позволява да променяте разрешенията чрез chmod команда. Този метод е полезен, когато трябва да промените разрешенията за много файлове.

  1. Достъпете вашия хостинг акаунт чрез SSH.

  2. След това отидете до основната директория на вашия домейн с помощта на следната команда:

    cd /home/username/root_folder

    Забележка: Задължително заменете username с вашето реално потребителско име за cPanel и root_folder с правилното име на директорията за вашия домейн:

  3. Изпълнете командата по-долу, за да зададете разрешенията на директориите на 0755 и разрешенията на файловете на 0644:

    find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

  4. След изпълнение на командата ще се покаже списък с файловете и папките, чиито разрешения са били актуализирани:


  • Cron задачи

Cron задачата ви позволява да насрочите команда (като chmod), която да се изпълнява автоматично през определени интервали.

  1. Във вашия cPanel отидете в менюто Cron Jobs:


  2. В секцията Добавяне на нова Cron задача задайте параметъра Чести настройки на Веднъж на всеки пет минути и добавете следния скрипт в Command реда:

    cd /home/username/root_folder && find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

    Забележка 1: Задължително заменете username с вашето реално потребителско име за cPanel и root_folder с правилното име на директорията за вашия домейн.

    Забележка 2: Скриптът не трябва да се изпълнява в основната home директория (например под /home/username). Home директорията съдържа системни и акаунт-специфични папки с персонализирани настройки за разрешения, необходими за правилната работа на cPanel. Промяната на тези разрешения към стандартните стойности (0755/0644) може да доведе до проблеми със сигурността, конфликти на услуги или до неправилна работа на контролния панел. Това може да се поправи само чрез възстановяване на пълен cPanel архив.


  3. Изпълнете cron задачата и изчакайте до 5 минути, за да може скриптът да направи съответните промени. След това е необходимо да я премахнете:


Ако не сте сигурни в правилните настройки на разрешенията, най-добре е да правите минимални промени или да се свържете с поддръжката, за да избегнете потенциални рискове за сигурността или прекъсвания на услугата.

Изисква се валиден имейл