AlmaLinux 8 vsftpd под пользователем root

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

Описание

ПРИМЕЧАНИЕ: Тот же вопрос, который был задан на ServerFault, который, судя по всему, был неверным форумом.

Я установил свежую AlmaLinux 8.10 на виртуальной машине (VirtualBox), т.е. меня совершенно не интересует безопасность.

Я воспользовался инструкциями из Руководства по настройке Vsftpd FTP сервера на Rocky Linux 8|AlmaLinux 8, пропустив раздел 2. Создание FTP пользователя и пользовательского каталога, так как хотел подключиться как root. Поэтому я выполнил следующие шаги:

    1. Установить vsftpd на Rocky Linux 8/ AlmaLinux 8
    1. Настроить vsftpd на Rocky Linux 8/ AlmaLinux 8. (Многие настройки уже были установлены по умолчанию)

Я добавил/изменил следующие настройки, по сравнению с настройками по умолчанию, т.е. перечислены только отличия:

/etc/vsftpd/ftpusers

;root

/etc/vsftpd/user_list

#root

/etc/vsftpd/vsftpd.conf

# Отключите для корректной работы fail2ban!
xferlog_std_format=NO

chroot_local_user=YES

# ========================================
# Добавленные кастомные строки
# ========================================

# Ведение логов для fail2ban
log_ftp_protocol=YES
vsftpd_log_file=/var/log/vsftpd.log

# Новые настройки, упомянутые в руководстве 
# https://computingforgeeks.compasv_min_port/configure-vsftpd-ftp-server-on-rocky-almalinux/

# Ограничить доступ пользователя только его домашним каталогом и предоставить разрешения на запись.
allow_writeable_chroot=YES

# Пассивные порты
pasv_min_port=30000
pasv_max_port=31000

# Разрешить специальным пользователям Vsftpd в файле user_list доступ к FTP-серверу.
userlist_file=/etc/vsftpd/user_list

# Отличается от руководства!
userlist_deny=YES

Проблема

Я ожидал, что теперь смогу войти как root и делать все, что хочу.

Я могу войти. Я могу перемещаться по любым папкам. Я могу загружать файлы.

Я не могу загружать файлы или создавать папки.

# Пытаясь создать папку /root/MyFolder в FileZilla, я получаю следующую ошибку:
Status: Создание каталога '/root/MyFolder'...
Более грабель: CWD /root
Ответ:    250 Директория успешно изменена.
Более грабель: MKD MyFolder
Ответ:    550 Операция создания каталога не удалась.

# Пытаясь загрузить случайный файл MyTestFile.txt в папку /root/Downloads/ с помощью FileZilla, я получаю следующую ошибку:
Более грабель: CWD /root/Downloads
Ответ:    250 Директория успешно изменена.
Более грабель: TYPE A
Ответ:    200 Переход в ASCII режим.
Более грабель: PASV
Ответ:    227 Переход в пассивный режим (192,168,77,140,117,137).
Более грабель: STOR MyTestFile.txt
Ответ:    553 Не удалось создать файл.
Ошибка: Критическая ошибка передачи файла

Что я упустил?

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

Для решения проблем с загрузкой файлов и созданием папок через сервер FTP vsftpd в AlmaLinux 8, следуйте ниже приведённым рекомендациям.

Проблемы с загрузкой и созданием папок

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

  1. Права доступа к директориям:

    • Убедитесь, что папки, в которые вы пытаетесь загружать файлы, имеют соответствующие разрешения. Для того чтобы root мог создавать директории и загружать файлы, права доступа к директории должны быть установлены корректно. Проверьте права с помощью команды:
      ls -ld /root
      ls -ld /root/Downloads
    • Если права доступа недостаточны, исправьте их:
      chmod 755 /root
      chmod 755 /root/Downloads
  2. Настройка vsftpd:

    • Ваша конфигурация включает в себя строчку allow_writeable_chroot=YES, что является правильным шагом. Однако, стоит убедиться, что данное изменение действительно активировано. Вы можете перезапустить сервис после внесенных изменений:
      sudo systemctl restart vsftpd
  3. SELinux:

    • Если SELinux включен, это может также блокировать действия вашего FTP-сервера. Проверьте статус SELinux командой:
      sestatus
    • Если он включен, попробуйте временно изменить его режим на разрешающий:
      sudo setenforce 0
    • Если это решает проблему, вам, возможно, необходимо будет настроить SELinux для обеспечения правильного доступа для vsftpd.
  4. Логирование и диагностика:

    • Проверьте файлы журналов для получения подробной информации о том, почему операции могут быть отклонены. Это можно сделать с помощью команды:
      cat /var/log/vsftpd.log

Итоговое решение

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

Примечание о безопасности

Несмотря на то, что вы указываете, что не беспокоитесь о безопасности, рекомендуется всегда следить за тем, чтобы важные директории оставались защищёнными от ненадлежащего доступа. Подмысля по возможности не используйте root для FTP-доступа в продуктивной среде.

Если у вас есть дополнительные вопросы или проблемы, не стесняйтесь задавать их!

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

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