Не удается выйти из /home, используя FTP-клиент Kodi.

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

У меня на машине с Debian работает сервер VSFTPD. После подключения я могу перемещаться по любым каталогам, к которым у пользователя есть доступ, за исключением использования встроенного FTP-клиента Kodi.

Я использовал WinSCP. Настройки для сеанса следующие: протокол файлов – FTP, шифрование – нет, имя хоста – IP сервера, номер порта – 21, учетные данные для входа. После входа я могу перемещаться там, где у меня есть разрешения, и не могу перемещаться туда, где у меня нет разрешений. Я использовал команду ftp в командной строке Windows. Она сообщает, что используется vsFTPd 3.0.3. То же ожидаемое поведение навигации, которое подчиняется разрешениям файлов. Я добавил FTP-сервер как сетевую папку с помощью сетевого мастера KDE. Согласно свойствам, он указывает на ftp://@:21/mnt. Снова то же ожидаемое поведение навигации.

FTP-клиент в Kodi ведет себя иначе, чем все вышеупомянутое. Он сразу отправляет меня в мою домашнюю директорию. Все мои медиафайлы хранятся на отдельном диске, монтированном в /mnt, а не в моей домашней директории. Kodi не позволяет мне перейти из домашней директории в /mnt. Когда я выбираю опцию “..”, чтобы подняться на уровень выше из /home, меня возвращает в окно настройки общего доступа. При добавлении FTP-общего ресурса есть поле ‘Remote Path’, но если я введу какой-либо путь вне /home, я получаю следующую ошибку в логах Kodi.

2025-02-02 21:43:41.203 T:7       debug <general>: CurlFile::Open - <ftp://USERNAME:PASSWORD@sumer:21/mnt/>
2025-02-02 21:43:41.203 T:7       debug <general>: easy_acquire - Created session to ftp://sumer
2025-02-02 21:43:41.250 T:7       error <general>: CCurlFile::CReadState::FillBuffer - (0x5606e4cf0390) Failed: Access denied to remote resource(9)
2025-02-02 21:43:41.250 T:7       error <general>: CCurlFile::Open - <ftp://USERNAME:PASSWORD@sumer:21/mnt/> Failed with code 550:
                                                   
2025-02-02 21:43:41.250 T:7       error <general>: GetDirectory - Error getting ftp://sumer:21/mnt/

Это разрешения для /mnt, которые должны быть достаточными для его обхода.

zagesi@sumer:~$ ls -l / | grep mnt
drwxr-xr-x   3 root root  4096 Feb  2 16:17 mnt

Я временно изменил разрешения на 777, но это не изменило ошибку.

Я мог бы обойти эту ошибку, создав символические ссылки на соответствующие каталоги в /mnt и /home, но это кажется временным решением. Я хотел бы узнать, делаю ли я что-то неправильно, прежде чем прибегать к этому. Есть идеи, что вызывает эту проблему? Я делаю что-то неправильно или это ожидаемое поведение? Или это ограничение FTP-клиента Kodi?

Наконец, если я использую SSH/SFTP в Kodi на своем Steam Deck, я могу перемещаться там, где хочу. По какой-то причине Windows’ Kodi не имеет опции SSH/SFTP.

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

Конечно, позвольте предоставить вам подробное объяснение проблемы с навигацией в клиенте FTP встроенного в Kodi и дать возможные пути её решения.

Теория

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

FTP (File Transfer Protocol) — это протокол сетевого переноса файлов, используемый для передачи данных между клиентом и сервером. Код доступа и прав для перемещения по структуре каталогов определяется FTP-сервером (в данном случае VSFTPD). При подключении пользователи предоставляют свои учетные данные, после чего сервер распространяет доступ исходя из настроек, прописанных в конфигурационных файлах сервера и уровнях доступа, назначенных конкретным пользователям.

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

Пример

Вы подключаете Kodi к FTP-серверу на Debian с использованием встроенного клиента FTP Kodi. В результате этого подключения, навигация останавливается на домашнем каталоге и не позволяет произвести переход на уровень выше — к корневой директории, в вашем случае /mnt, где находятся мультимедиа файлы.

Вы сравниваете это поведение с другими клиентами, такими как WinSCP и KDE, которые без проблем обеспечивают желаемую навигацию, что подтверждает правильность настроек на VSFTPD. Применение командной строки Windows также не выявляет проблем с конфигурацией и правами.

Попытки изменить права доступа на папке /mnt на более общедоступные через 777 не решает проблему, что говорит о вероятном ограничении самого клиента Kodi или его конфигурации считанных путей.

Использование SSH/SFTP на других устройствах, например на Steam Deck, не сталкивается с подобными ограничениями, предположительно из-за различий в поддерживаемых протоколах.

Применение

Для решения проблемы, следует рассмотреть несколько потенциальных подходов:

  1. Проверка конфигурации VSFTPD:

    • Убедитесь, что конфигурационный файл vsftpd.conf не содержит ограничений по chroot, которые могут принудительно удерживать пользователя в своей домашней директории.
    • Проверьте параметры chroot_local_user и allow_writeable_chroot.
  2. Обновление Kodi:

    • Проверьте наличие обновлений для Kodi, так как обновленные версии могут исправить известные ограничения или ошибки в FTP-клиенте.
    • Рассмотрите возможность замены клиентского модуля на альтернативный, если такой доступен и предоставляет более широкие возможности навигации.
  3. Использование Symlink (временное решение):

    • Создание симлинков из домашнего каталога к мультимедийным файлам. Это позволит обойти клиентские ограничения, однако не является идеальным или долгосрочным решением.
  4. Изучение логов Kodi:

    • Исследуйте логи ошибок Kodi для выявления возможных ограничений или недоступных функций, возможно, потребуется модификация источника или конфигурации.
  5. Смена протокола подключения:

    • Поскольку SFTP обеспечивает необходимую навигацию в других устройствах, рассмотреть использование альтернативных протоколов там, где они доступны, или использование специальных клиентских надстроек для Windows Kodi.

К сожалению, данная проблема действительно может быть связана с ограничениями на стороне клиента в Kodi, что подтверждается корректной работой других клиентов с теми же настройками сервера. Использование более современных или альтернативных протоколов доступа может стать решением вашей проблемы, однако до её окончательного устранения может потребоваться временное использование обходных путей и тщательная настройка сервера и клиента.

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

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