LINUX.ORG.RU
ФорумAdmin

curlftpfs не показывает содержимого на FTP

 , ,


0

1

Имеем Raspbian. То же самое пробовал на Debian 8 - результат тот же.

Пытаюсь подключить FTP ресурс с анонимным доступом на рядом стоящей ps3 как локальную папку:

mkdir /media/ftp
chmod 777 /media/ftp/
curlftpfs -o allow_other,user=anonymous:123 10.20.1.12/dev_hdd0 /media/ftp/

при этом «ls -l» говорит: «Итого 0»

При создании папки в этом каталоге пишет:

mkdir /media/ftp/test
mkdir: невозможно создать каталог «/media/ftp/test»: Нет такого файла или каталога

Тем не менее каталог вполне нормально создается и его видно, если подключиться другим клиентом, например из mc или FAR. То есть шара подключается, но содержимое почему-то не отображается. В логе в этот момент пишет:

mkdir /test 0755 umask=0022
> MKD test
< 257 "test" OK
Причем, интересный момент, если не указывать логин/пароль, то FTP подключается с дефолтовыми USER anonymous PASS ftp@example.com, но при создании папки ругается уже так:
mkdir: невозможно создать каталог «/media/ftp/test»: Операция не позволена

Подключать как только не пробовал, ситуация одинакова.

curlftpfs anonymous:123@10.20.1.12:/dev_hdd0 /media/ftp
curlftpfs -o allow_other anonymous:123@10.20.1.12:/dev_hdd0 /media/ftp/
curlftpfs -o allow_other,user=anonymous:123 10.20.1.12/dev_hdd0 /media/ftp/
curlftpfs -o allow_other,default_permissions,umask=077,user=anonymous:123 10.20.1.12:/dev_hdd0 /media/ftp/
curlftpfs -o allow_other,default_permissions,umask=000,user=anonymous:123 10.20.1.12:/dev_hdd0 /media/ftp/
curlftpfs -o allow_other,default_permissions,uid=1000,gid=1000,umask=000,user=anonymous:123 10.20.1.12:/dev_hdd0 /media/ftp/

Полный дебаг-лог с созданием папки test. Простите что много текста, но тег cut почему-то не сработал...

root@osmc:/media# curlftpfs -v -d -o allow_other,default_permissions,uid=1000,gid=1000,umask=000,user=anonymous:123 10.20.1.12:/dev_hdd0 /media/ftp/
* Couldn't find host 10.20.1.12 in the .netrc file; using defaults
* Hostname was NOT found in DNS cache
*   Trying 10.20.1.12...
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
< 220 webMAN ftpd 1.47.06 MOD [NTFS:-2]
> USER anonymous
< 331 OK
> PASS 123
< 230 OK
> PWD
< 257 "/"
* Entry path is '/'
> CWD dev_hdd0
* ftp_perform ends with SECONDARY: 0
< 250 OK
* Remembering we are in dir "dev_hdd0/"
* Connection #0 to host 10.20.1.12 left intact
FUSE library version: 2.9.3
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.26
flags=0x001ffffb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 2773
getattr /
* Couldn't find host 10.20.1.12 in the .netrc file; using defaults
* Found bundle for host 10.20.1.12: 0xc51c10
* Re-using existing connection! (#0) with host 10.20.1.12
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
* Request has same path as previous transfer
> PASV
* Connect data stream passively
* ftp_perform ends with SECONDARY: 0
< 227 Entering Passive Mode (10,20,1,12,236,142)
* Hostname was NOT found in DNS cache
*   Trying 10.20.1.12...
* Connecting to 10.20.1.12 (10.20.1.12) port 60558
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
> TYPE A
< 200 TYPE OK
> LIST -a
< 150 OK
* Maxdownload = -1
* Remembering we are in dir "dev_hdd0/"
< 226 [/dev_hdd0] [ 835570 Mb свободно CPU: 65 ▒C | RSX: 67 ▒C]
* Connection #0 to host 10.20.1.12 left intact
   unique: 2, success, outsize: 120
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 45, pid: 2773
LOOKUP /test
getattr /test
* Couldn't find host 10.20.1.12 in the .netrc file; using defaults
* Found bundle for host 10.20.1.12: 0xc51c10
* Re-using existing connection! (#0) with host 10.20.1.12
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
* Request has same path as previous transfer
> PASV
* Connect data stream passively
* ftp_perform ends with SECONDARY: 0
< 227 Entering Passive Mode (10,20,1,12,236,178)
* Hostname was NOT found in DNS cache
*   Trying 10.20.1.12...
* Connecting to 10.20.1.12 (10.20.1.12) port 60594
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
> LIST -a
< 150 OK
* Maxdownload = -1
* Remembering we are in dir "dev_hdd0/"
< 226 [/dev_hdd0] [ 835570 Mb свободно CPU: 65 ▒C | RSX: 67 ▒C]
* Connection #0 to host 10.20.1.12 left intact
ftpfs: operation ftpfs_getattr failed because No such file or directory
   unique: 3, error: -2 (No such file or directory), outsize: 16
unique: 4, opcode: MKDIR (9), nodeid: 1, insize: 53, pid: 2773
mkdir /test 0755 umask=0022
* Couldn't find host 10.20.1.12 in the .netrc file; using defaults
* Found bundle for host 10.20.1.12: 0xc51c10
* Re-using existing connection! (#0) with host 10.20.1.12
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
* Request has same path as previous transfer
* ftp_perform ends with SECONDARY: 0
* Remembering we are in dir "dev_hdd0/"
> MKD test
< 257 "test" OK
* Connection #0 to host 10.20.1.12 left intact
* Couldn't find host 10.20.1.12 in the .netrc file; using defaults
* Found bundle for host 10.20.1.12: 0xc51c10
* Re-using existing connection! (#0) with host 10.20.1.12
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
* Request has same path as previous transfer
* ftp_perform ends with SECONDARY: 0
* Remembering we are in dir "dev_hdd0/"
> SITE CHMOD 755 test
< 250 OK
* Connection #0 to host 10.20.1.12 left intact
getattr /test
* Couldn't find host 10.20.1.12 in the .netrc file; using defaults
* Found bundle for host 10.20.1.12: 0xc51c10
* Re-using existing connection! (#0) with host 10.20.1.12
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
* Request has same path as previous transfer
> PASV
* Connect data stream passively
* ftp_perform ends with SECONDARY: 0
< 227 Entering Passive Mode (10,20,1,12,242,178)
* Hostname was NOT found in DNS cache
*   Trying 10.20.1.12...
* Connecting to 10.20.1.12 (10.20.1.12) port 62130
* Connected to 10.20.1.12 (10.20.1.12) port 21 (#0)
> LIST -a
< 150 OK
* Maxdownload = -1
* Remembering we are in dir "dev_hdd0/"
< 226 [/dev_hdd0] [ 835570 Mb свободно CPU: 65 ▒C | RSX: 67 ▒C]
* Connection #0 to host 10.20.1.12 left intact
ftpfs: operation ftpfs_getattr failed because No such file or directory
   unique: 4, error: -2 (No such file or directory), outsize: 16

Подскажите, в какую сторону копать, а то мозг себе свихнул уже.

mc и другие ftp-клиенты, успешно получающие список файлов тоже работают в пасивном ftp-режиме?

Можете ещё попробовать версию 0.9.1 curlftpfs

mky ★★★★★ ()

1. У anonymous может быть требование к паролю в виде email. Это историческое. a@a.a прокатывает почти всегда. Но попадал на более строгие исключения, тогда что-то типа dasfasdf@mail.ru
2. Для начала попробуйте обычный консольный ftp с ключиком -d

anc ★★★★★ ()

C виндого ТоталКомандера пробовал? Нормальное средство для тестирования ftp сервера. :)

Bootmen ☆☆☆ ()
Ответ на: комментарий от mky

mc и другие ftp-клиенты, успешно получающие список файлов тоже работают в пасивном ftp-режиме?

Думаете как-то можно сконфигурить так, что вместо зависания от невозможности работать пассивно/активно можно получать пустой список? Какое-то магическое познавание мира получается :)

vodz ★★★★★ ()
Ответ на: комментарий от mky

Не уверен насчет всех, но консольный ftp c флагом -p завелся нормально. Так же запустил curlftpfs в active mode - результат тот же - коннект есть, папку создать можно а прочитать нельзя.

0.9.1 попробую на выходных, вероятно...

leninxxx ()
Ответ на: комментарий от Bootmen

У него какой-то особенно информативный лог? ) Вообще-то терпеть его не могу, не люблю гуй. Вот FAR - это мое, да.

leninxxx ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.