Пользователь vsftpd может загружать файлы, но не может видеть их

Столкнулся с такой проблемой, что пользователь vsftpd отлично загружает файлы, но при попытке скачать их обратно ничего не получается. Если попробовать выполнить просмотр содержимого удаленного каталога, то созданные каталоги видны (отлично отображаются), а вот файлы (не важно — в корень они загружены или в созданный каталог) — не отображаются. Если указать в явном виде имя файла и попытаться его скачать — получаю ошибку доступа. Как это так вообще возможно?

Я использую vsftpd для серверов FTP, с его помощью скрипты автоматического резервного копирования на серверах под управлением ОС linux выполняют отправку файлов данных.

Возможно, я просто «не умею готовить» vsftpd, спорить не буду. Но тем не менее — владельцем загруженных файлов является пользователь ftp, то есть по идеи у владельца то должны быть полные права на файл, нет? При попытке скачать только что загруженный файл под этим пользователем — ничего не выходит. Пичалька.

Решение оказалось до банальности простым — изменить разрешения на уже загруженные файлы. И вот тут я вообще ничего не понял. Как же это так получается — загрузить файл можно, а прочитать нельзя. И сменить разрешения доступа тоже можно. Чудеса расчудесные. Но тем не менее, загружаем файл и в той же сессии FTP выполняем стандартную команду linux:

#chmod 777 -R ./

После этого файлы отлично скачиваются. Понятное дело, что это по сути костыль, а не решение проблемы, но мне этого достаточно.

Открытым остаётся вопрос — почему же так происходит и кто в этом все-таки виноват. Но судя по большому количеству подобных вопросов на форумах — проблема не только у меня.

Оставьте комментарий