Задний план: У меня есть корзина Amazon S3 с данными, загруженными через веб-интерфейс AWS. Теперь мне нужно предоставить доступ на основе разрешений к путям в моих корзинах для пользователей FTP. Для этого я запускаю vsftpd и s3fs на свежем инстансе Amazon EC2. Проблема в том, что содержимое корзины имеет путь, а не точечный файл, а огромный размер файла создает исключение в vsftpd. ls -la
выглядит так:
$ pwd
/mnt/my-bucket-name/pathname
$ ls -la
total 1
drwxrwxr-x 1 root root 0 Jun 16 19:54 dir1
drwxrwxr-x 1 root root 0 Jun 16 19:54 dir2
---------- 1 root root 18446744073709551615 Dec 31 1969 pathname
Тогда как это должно быть больше похоже:
$ ls -la
total 500
drwxrwxr-x 1 root root 500 Jun 16 19:54 .
drwxrwxr-x 1 root root 500 Jun 16 19:54 ..
drwxrwxr-x 1 root root 500 Jun 16 19:54 dir1
drwxrwxr-x 1 root root 500 Jun 16 19:54 dir2
Когда пользователи FTP пытаются подключиться, они получают сообщение об ошибке:
ftp> ls
229 Entering Extended Passive Mode (|||14017|).
150 Here comes the directory listing.
500 OOPS: invalid inode size in vsf_sysutil_statbuf_get_size
Ковш монтируется с помощью этой команды: sudo s3fs my-bucket-name /mnt/my-bucket-name -o allow_other -o default_acl=public-read
Я создал тикет на кодовой странице s3fs google месяц назад, часами занимался этим, и я в тупике. Есть идеи, что я делаю не так?