Ubuntu nginx FTP – не удается создать новый файл

Вопрос или проблема

У меня есть 2 сервера, которые одинаково сконфигурированы. Один из них старше на 1 год и имеет более старую версию Ubuntu, в то время как другой – с последней версией.

Когда я вхожу в последний сервер по FTP и пытаюсь создать файл, это не удается, и появляется ответ 550 Permission denied

Я видел этот вопрос и ответ, а также 100 подобных, где ответы всегда “установите правильные права доступа к папке на 777 или 755 и правильное владение”.

Но папка html, в которой я пытаюсь создать файл, имеет права 777, а владение такое же, как у пользователя, под которым я вошел по FTP, то же самое касается родительской папки www.

Это ошибка в последней версии?

Какие файлы я должен вам показать?

Я уже много часов борюсь с этим.

Ответ или решение

При работе с FTP на последних версиях Ubuntu могут возникать проблемы с созданием файлов, особенно если вы сталкиваетесь с ошибкой "550 Permission denied". Несмотря на то, что настройки разрешений и владения директориями кажутся корректными, проблема может крыться в нескольких других аспектах. Рассмотрим подробно, что может вызывать данную ошибку и какие шаги можно предпринять для её исправления.

1. Проверка конфигурации FTP сервера

Первым делом вам стоит проверить конфигурацию используемого FTP сервера. Наиболее популярными являются vsftpd, proftpd и Pure-FTPd. Для примера, если вы используете vsftpd, откройте файл конфигурации, обычно находящийся по пути /etc/vsftpd.conf, и проверьте следующие параметры:

  • write_enable: Убедитесь, что этот параметр установлен в YES. Он позволяет пользователям записывать файлы.

    write_enable=YES
  • local_umask: Убедитесь, что устанавливаемая маска файловых разрешений не блокирует создание файлов.

    local_umask=022
  • chroot_local_user: Если эта опция включена, она может ограничивать пользователя в доступе к определённым директориям. Убедитесь, что пользователь имеет право на запись в соответствующей директории.

2. Права доступа на уровне операционной системы

Даже если папка имеет права 777, стоит проверить другие аспекты:

  • SELinux/AppArmor: В последних версиях Ubuntu по умолчанию используется AppArmor, который может ограничивать действия процессов, даже если права на файл установлены корректно. Проверьте статус AppArmor с помощью команды:

    sudo aa-status

    Если он активирован, убедитесь, что профиль вашего FTP-сервера настроен правильно или временно отключите AppArmor для тестирования:

    sudo systemctl stop apparmor
  • Проверка владельца и группы: Выполните команду ls -ld /путь/к/www/html, чтобы убедиться, что владелец и группа указаны верно. Убедитесь, что пользователь FTP входит в группу, которая владеет директориями.

3. Логи FTP сервера

Ключевым этапом в диагностике проблемы может быть анализ логов FTP сервера. Почти все FTP-сервера позволяют включить уровень отладки, что даст возможность получать подробные сообщения о действиях сервера:

  • Для vsftpd логирование может быть включено следующим образом:

    xferlog_enable=YES

    Логи обычно можно найти в /var/log/vsftpd.log или в другом файле, указанном в конфигурации.

4. Тестовые команды

Для диагностирования проблемы можно использовать команды, такие как ls, mkdir и touch через FTP-клиент, чтобы проверить доступность и права на запись в директориях. Начните с проверки прав на создание папок, что может выявить, является ли проблема связанной именно с правами доступа.

5. Обновление программного обеспечения

Если вышеуказанные шаги не помогают, возможно, что на вашем сервере присутствует баг или несовместимость в самой версии Ubuntu или FTP-сервера. Убедитесь, что все обновления установлены. Это можно сделать с помощью:

sudo apt update && sudo apt upgrade

Заключение

Ошибки, связанные с правами доступа и созданием файлов по FTP в Ubuntu, могут быть вызваны множеством факторов, не ограничиваясь лишь разрешениями каталогов. Следуя приведенным рекомендациям, вы сможете выявить и устранить причину проблемы. Если же сложности сохранятся, вы можете предоставить логи и конфигурационные файлы для более детального анализа.

Оцените материал
Добавить комментарий

Капча загружается...