Коротко: Права доступа проверяются командой ls -l в терминале, через свойства файла в FTP-клиенте или панели управления. Корректные значения для папки uploads — 755 (владелец: чтение, запись, выполнение; группа и остальные: чтение и выполнение), а для файлов внутри — 644. Отклонения могут вызывать ошибку 403 или невозможность загрузки.
Проверка прав доступа uploads — первый шаг, если на сайте перестали загружаться изображения или документы. Неверные разрешения блокируют запись, и CMS не может сохранить файлы. Разберём, как быстро определить текущие права в Linux-окружении, через FTP или файловый менеджер хостинга.
Что понадобится
- Доступ к серверу по SSH (терминал) или FTP-клиент (например, FileZilla)
- Учётные данные хостинга для входа в панель управления (cPanel, ISPmanager и т. п.)
- Знание абсолютного пути к папке uploads (обычно внутри wp-content для WordPress или аналогичной директории CMS)
Что означают права доступа и зачем их проверять
В Linux-системах каждая папка и файл имеют три уровня разрешений: для владельца, группы и всех остальных. Они записываются в символьном виде (rwx) или числовом (например, 755). Папка uploads используется CMS для сохранения загружаемых медиафайлов, поэтому веб-сервер (часто работающий от пользователя www-data или nobody) должен иметь право записи в неё.
Если права занижены (например, 555), скрипты не смогут создать файл — появится ошибка загрузки или предупреждение в логах. Слишком широкие права (777) создают угрозу безопасности: любой пользователь сервера может модифицировать содержимое.
- Числовая нотация: 4 — чтение, 2 — запись, 1 — выполнение; сумма даёт итоговое значение
- Символьная запись: r — чтение, w — запись, x — выполнение; дефис означает отсутствие права
- Первый символ в выводе ls -l показывает тип: d — директория, — — обычный файл
Проверка прав через терминал (SSH)
Самый точный способ — подключиться к серверу по SSH и использовать стандартные команды Linux. Вы получите не только права, но и информацию о владельце и группе.
- Подключитесь к серверу: ssh user@your-server-ip (имя пользователя и адрес замените на свои).
- Перейдите в директорию, где находится папка uploads. Например, для WordPress: cd /var/www/example.com/html/wp-content (путь может отличаться).
- Проверьте права на саму папку командой: ls -ld uploads.
- Интерпретируйте вывод: запись вида drwxr-xr-x 2 www-data www-data 4096 Mar 10 12:34 uploads означает права 755 (rwxr-xr-x) с владельцем www-data и группой www-data.
- Для проверки прав файлов внутри папки выполните: ls -l uploads — вы увидите построчный список с аналогичным форматом, где для файлов ожидается -rw-r—r— (644).
Важно: Если папка uploads отсутствует в текущей директории, уточните её расположение в структуре сайта или путь к пользовательскому контенту конкретной CMS.
Проверка прав через FTP-клиент
При отсутствии SSH удобно использовать FTP-клиент, например FileZilla. Современные клиенты позволяют просматривать атрибуты файлов и папок в числовом или символьном виде.
Этот метод подходит для большинства виртуальных хостингов, где FTP-доступ предоставляется по умолчанию.
- Подключитесь к серверу через FTP, используя хост, логин и пароль от хостинг-аккаунта.
- В удалённой файловой структуре перейдите к папке, содержащей uploads (например, /public_html/wp-content/).
- Щёлкните правой кнопкой мыши по папке uploads и выберите «Права доступа к файлу» или «File permissions» (название зависит от клиента).
- В открывшемся окне будет показано числовое значение (например, 755) или набор флажков. Убедитесь, что для владельца стоят все три права (чтение, запись, выполнение), для группы — чтение и выполнение, для остальных — чтение и выполнение.
- Аналогично проверьте отдельные файлы: откройте папку uploads, нажмите правой кнопкой на любой файл и посмотрите его права — должно быть 644.
Важно: В некоторых FTP-клиентах права отображаются в восьмеричном формате автоматически; если видите трёхзначное число — это и есть нужный код.
Проверка прав в файловом менеджере панели хостинга
Панели управления (cPanel, ISPmanager, DirectAdmin и др.) включают веб-интерфейс для работы с файлами. Это самый простой путь, если нет возможности использовать терминал или FTP-клиент.
- Войдите в панель управления хостингом, используя выданные логин и пароль.
- Запустите файловый менеджер (обычно иконка «File Manager» в cPanel или «Файлы» в ISPmanager).
- В дереве каталогов перейдите к директории с uploads — ориентируйтесь на корень сайта (часто public_html или доменная папка).
- В списке файлов найдите папку uploads и посмотрите колонку «Права» или «Permissions». Обычно отображается число, например 0755.
- Если панель показывает только символьные права (rwx), сопоставьте их с числовыми: rwx = 7, r-x = 5. Войдите внутрь папки и проверьте произвольный файл — в колонке должно быть 0644.
Важно: Расположение и названия элементов интерфейса зависят от конкретной панели и её версии. При отсутствии колонки с правами нажмите на папку правой кнопкой и выберите «Change Permissions» или «Атрибуты».
Какие права должны быть у папки uploads и файлов
Оптимальные разрешения гарантируют работоспособность при достаточной безопасности. Для папки uploads стандартом де-факто считается 755: владелец (часто пользователь веб-сервера) может читать, записывать и заходить внутрь; группа и все остальные — только читать и заходить, что необходимо для отдачи файлов посетителям.
Для файлов внутри uploads (изображения, документы) достаточно 644: владелец читает и изменяет, остальные только читают. Выполнение файлам не требуется.
- Папка uploads: 755 (rwxr-xr-x)
- Файлы внутри uploads: 644 (rw-r—r—)
- Владелец папки и файлов должен совпадать с пользователем, от которого работает веб-сервер (например, www-data, apache или аккаунт хостинга)
- Никогда не выставляйте права 777 — это открывает папку для записи любому, что критически снижает безопасность
Частые ошибки при проверке прав доступа
Даже опытные администраторы иногда допускают досадные промахи, которые приводят к неверным выводам.
- Использование ls -l uploads вместо ls -ld uploads — первая команда показывает содержимое папки, а не права на саму папку
- Проверка прав на символическую ссылку вместо целевого каталога
- Просмотр прав из-под root-пользователя или другой учётной записи, не совпадающей с владельцем процесса веб-сервера
- Неправильное сопоставление символьных прав с числовыми: например, принятие rwxr-xr— за 754 вместо 755
- Игнорирование владельца: даже при верных правах 755 запись не пройдёт, если папкой владеет root, а не веб-сервер
Важно: Всегда проверяйте и права, и владельца одним вызовом ls -l или его аналогом.
Что делать после проверки, если права отличаются от рекомендуемых
Если обнаружены неверные разрешения, их достаточно просто поправить. Способ зависит от имеющегося доступа.
- Через терминал: chmod 755 uploads — для папки; chmod 644 uploads/* — для всех файлов внутри; при необходимости сменить владельца: chown -R www-data:www-data uploads (уточните пользователя веб-сервера для вашего окружения).
- Через FTP: в FileZilla правый клик по папке → «File permissions» → введите 755 и примените рекурсивно только к папкам, затем отдельно выставите 644 для файлов.
- В панели хостинга: выделите папку uploads, выберите «Change Permissions», укажите 755; внутри папки массово измените права файлов на 644 (иногда есть функция рекурсивной установки).
Важно: После изменения прав обязательно протестируйте загрузку файла через интерфейс сайта, чтобы убедиться в решении проблемы.
Проверка результата
- Убедитесь, что проверяете права именно на целевой папке uploads, а не на родительской директории или символической ссылке.
- При использовании терминала всегда проверяйте и владельца: вывод ls -l показывает пользователя и группу в третьей и четвёртой колонках.
- Если сайт работает в изолированной среде (например, Docker), права могут определяться не так, как на обычном хостинге, — сверьтесь с документацией окружения.
Частые ошибки и нюансы
- Применение ls -l uploads без ключа -d и неверная интерпретация прав содержимого как прав самой папки.
- Проверка на тестовом файле с правами 777 и ошибочный вывод, что вся папка имеет такие права.
- Смена прав без учёта владельца: даже после chmod 755 проблема сохранится, если владелец — root.
- Рекурсивное изменение прав без разделения папок и файлов, из-за чего папки получают 644 и становятся недоступными для перехода, а файлы — 755 с излишними правами на выполнение.
- Использование прав 777 «для надёжности», что моментально создаёт брешь в безопасности.
Быстрая проверка
Введите код ошибки или кратко опишите проблему.
FAQ
Какие права должны быть у папки uploads в WordPress?
Обычно 755. Папка должна принадлежать пользователю, под которым работает веб-сервер (например, www-data), и иметь права rwxr-xr-x. Все файлы внутри — 644. В некоторых конфигурациях хостинга допустима 775, если веб-сервер входит в группу владельца, но 755 рекомендуется как безопасный минимум.
Почему команда ls -l uploads показывает права на файлы, а не на папку?
Потому что без опции -d ls выводит содержимое папки. Используйте ls -ld uploads, чтобы увидеть атрибуты самого каталога.
Можно ли проверить права доступа к папке uploads без SSH и FTP, только через браузер?
Прямой проверки через браузер не существует, так как веб-сервер не раскрывает внутренние разрешения. Но косвенно проблему можно заподозрить по ошибке 403 при попытке открыть файл из uploads или после неудачной загрузки. Единственный вариант без терминала и FTP — файловый менеджер в панели хостинга.
Что делать, если после установки прав 755 загрузка всё равно не работает?
Проверьте владельца папки (команда ls -l или информация в FTP): он должен совпадать с пользователем, от которого запущен веб-сервер (часто www-data, apache, nobody). Также убедитесь, что родительские директории имеют право выполнения (x) для веб-сервера, иначе он не сможет «пройти» к uploads. Возможно, проблема в лимитах дискового пространства или настройках open_basedir.
Опасны ли права 777 для папки uploads?
Да, очень опасны. Права 777 означают, что кто угодно на сервере может читать, изменять и удалять файлы в этой папке. Если хостинг используется совместно, другие пользователи могут получить доступ к загруженным файлам или даже внедрить вредоносный код. Никогда не оставляйте 777 на рабочих сайтах.
Как быстро проверить права на все файлы в папке uploads рекурсивно?
Через терминал выполните: find uploads -type d -exec ls -ld {} ; — для папок, и find uploads -type f -exec ls -l {} ; — для файлов. Это покажет права каждого элемента. В FTP аналогичного прямого способа нет, но можно применить функцию рекурсивного просмотра свойств (если клиент поддерживает) или временно сменить права одной командой, проверив результат.
Итог
Проверка прав доступа к папке uploads — быстрая диагностическая процедура, которая помогает выявить причину сбоев загрузки. Зная базовые команды и умея интерпретировать вывод терминала или FTP-клиента, вы сэкономите время при администрировании сайта. Регулярно контролируйте разрешения после обновлений CMS, миграций или смены хостинга, чтобы избежать неожиданных ошибок.