Permission denied при удалении файлов: как исправить права доступа
ПечатьОшибка «Permission denied» в File Manager или FTP-клиенте при попытке что-то удалить означает, что объект защищён правами доступа. Чаще всего мешают права не самого файла, а папки, в которой он лежит. Обычно это исправляется за минуту: установите родительской папке значение 755, удалите объект и проверьте, что у остальных файлов сайта остались обычные права.
Почему сервер не даёт удалить файл
В Linux удаление файла считается изменением папки, в которой он находится. Поэтому важно, может ли Ваш аккаунт изменять эту папку, а не только сам файл. Типичные ситуации:
- Плагин безопасности или скрипт перевёл файлы и папки в режим «только чтение» (значения 444, 555 или 400).
- Архив распаковался с необычными правами, либо папке задали 000, чтобы её скрыть.
- Файл принадлежит другому системному пользователю, например после ручного восстановления администратором. Изменить такой файл из Вашего аккаунта нельзя.
Как читать права доступа
У каждого файла и папки три цифры: первая относится к владельцу (Вашему аккаунту cPanel), вторая к группе, третья ко всем остальным. Каждая цифра складывается из значений: 4 означает чтение, 2 запись, 1 выполнение. Для папки «выполнение» означает право войти в неё.
| Значение | Буквами | Для чего |
|---|---|---|
| 755 | rwxr-xr-x | папки |
| 644 | rw-r--r-- | обычные файлы: PHP, HTML, CSS, изображения |
| 600 или 640 | rw------- или rw-r----- | конфигурационные файлы с паролями, например wp-config.php |
Не ставьте 777. Право записи для всех опасно, а многие серверные конфигурации отказываются запускать скрипт из файла или папки, доступных для записи любому, и страница выдаёт ошибку 500.
Исправление в File Manager cPanel
- Войдите в cPanel и откройте Files, затем File Manager.
- Найдите объект, который не удаляется, и посмотрите на столбец Permissions у него и у папки уровнем выше.
- Поднимитесь на уровень вверх, отметьте родительскую папку и нажмите Permissions на панели инструментов. Введите 755 и подтвердите кнопкой Change Permissions.
- Снова откройте папку, отметьте объект и нажмите Delete. Если сам объект является папкой с правами 555 или 000, сначала задайте ей 755, иначе её содержимое не удалится.
Удалённое в File Manager попадает в корзину и продолжает занимать место. Очистить её можно кнопкой View Trash, затем Empty Trash. Если Вы уверены, отметьте в окне удаления Skip the trash and permanently delete the files.
Исправление через FileZilla или другой FTP-клиент
- Подключитесь к хостингу (настройка описана в статье Настройка FileZilla).
- Щёлкните правой кнопкой по папке, где лежит объект, и выберите File permissions....
- Впишите 755 в поле Numeric value, нажмите OK и удалите объект.
Если плагин заблокировал целое дерево папок, отметьте Recurse into subdirectories и выберите Apply to directories only со значением 755. Затем повторите с Apply to files only и 644. Столбец Owner/Group в FileZilla показывает, кому принадлежит каждый файл.
Через Terminal
Если у Вашего аккаунта есть доступ к Terminal или SSH (см. Подключение к серверу по SSH), хватит двух команд. Первая показывает права и владельцев, вторая снимает блокировку с папки:
ls -la chmod 755 имя-папки
Если удалить всё равно не получается
- Другой владелец. Если владельцем указан не Ваш пользователь cPanel, а, например, root или nobody, изменить это может только наша команда. Откройте тикет и укажите полный путь к файлу.
- Блокировка возвращается. Некоторые плагины безопасности WordPress сами восстанавливают режим «только чтение». Сначала отключите в плагине защиту файлов, затем удаляйте.
- Странные имена. Файлы с пробелом в конце имени или с необычными символами иногда не обрабатываются в File Manager. Переименуйте или удалите их через FTP-клиент.
Если ничего не помогло, напишите нам: https://billing.tophost.md/submitticket.php. Укажите путь к файлу и точный текст ошибки.
После удаления
Верните обычные права: 755 для папок, 644 для файлов. Если Вы удаляете файлы, чтобы освободить место или уменьшить их количество, выбрать лишнее помогут статьи Закончилось место на диске и Количество файлов (inode) в аккаунте.