Что означает ответ 550
Ответ 550 расшифровывается как «запрошенное действие не выполнено, файл недоступен». Это постоянная неудача: повторять тот же запрос без изменений бессмысленно. Код относится к операции с файлом или каталогом: загрузка, скачивание, удаление, переименование, создание папки или смена каталога.
Сообщение после кода помогает сузить причину. Формулировки «No such file or directory», «Permission denied», «Access is denied» и «Could not create file» указывают на разные проблемы. Одна и та же цифра прячет как ошибку в пути, так и настоящий запрет, поэтому читайте текст, а не только код.
Причины по убыванию вероятности: FTP 550 «Requested action not taken»
Чаще всего встречается неверный путь: файл или каталог не существует, в имени опечатка, различается регистр букв на сервере с чувствительной к нему файловой системой либо путь указан от корня, а сервер ожидает его от домашнего каталога пользователя.
Вторая причина: недостаточные права. Аккаунт может читать каталог, но не писать в него, а загрузка нового файла или удаление требуют прав на запись. Третья: файл занят или заблокирован другим процессом. Четвёртая: закончилась квота или место на диске, тогда сервер отвечает по-разному, в том числе 550. Пятая: недопустимые символы или слишком длинное имя. Шестая: вы пытаетесь создать файл, который уже существует, и сервер запрещает перезапись.
Проверка по шагам: FTP 550 «Requested action not taken»
Начните с чтения: выполните листинг каталога и убедитесь, что нужный файл действительно виден и написан именно так, как вы его указываете. Попробуйте скачать другой, заведомо существующий файл: если он открывается, проблема в конкретном пути или файле, а не в соединении.
Затем проверьте запись: создайте небольшой тестовый файл в том же каталоге. Если получается только читать, вам не хватает прав. Убедитесь, что вы находитесь в нужном каталоге: некоторые клиенты запоминают старый путь и подставляют его. Проверьте имя файла на пробелы, кириллицу, экзотические символы: серверы по-разному обрабатывают кодировку, и иногда помогает включение UTF-8 в настройках клиента.
Как исправить: FTP 550 «Requested action not taken»
Для неверного пути исправьте его и используйте относительные пути от домашнего каталога. Для нехватки прав обратитесь к администратору или на хостинге поменяйте права на каталог: обычно достаточно, чтобы владелец имел право на запись и вход в папку. Не выставляйте полный доступ всем без необходимости, это создаёт риск безопасности.
Если файл занят, закройте программу, которая его использует, и повторите. При нехватке места удалите ненужное или увеличьте квоту. Если проблема в кодировке, включите UTF-8 в клиенте или переименуйте файл латиницей. При загрузке в режиме, который блокирует перезапись, сначала удалите старую версию либо выберите в клиенте действие «перезаписать».
Когда виновата сторона сервера
Если корректные операции внезапно перестали работать у всех пользователей, возможны проблемы с файловой системой, монтированием диска или конфигурацией сервера, например неверная «клетка» пользователя (chroot) после обновления. Администратору стоит проверить журнал сервера: там указано, какая именно проверка не пройдена.
Хостинг-провайдеры иногда ограничивают типы файлов или размеры, и тогда 550 приходит при попытке загрузить недопустимое расширение или слишком большой файл. Ответ можно уточнить в документации хостинга или у поддержки.
Права доступа и владельцы файлов
На серверах семейства Unix права задаются для владельца, группы и остальных. FTP-сервер выполняет операции от имени вашего пользователя, поэтому ему нужны права на нужный каталог: на чтение и вход для просмотра, на запись для создания и удаления. Если файлы созданы другим пользователем, например веб-сервером, ваш аккаунт может видеть их, но не менять.
Чтобы диагностировать, посмотрите в листинге столбец прав и владельца рядом с проблемным файлом. Если владелец другой, попросите администратора сменить владельца или добавить вашего пользователя в нужную группу. Для веб-каталогов на хостинге часто достаточно стандартных значений прав для файлов и папок, которые приведены в справке хостинга; не назначайте открытую запись всем, так как это создаёт уязвимость.