Развернув FTP-сервер VSFTPD (ссылка) на Ubuntu server 14.04.5 и настроив использование виртуальных пользователей на базе MySQL (ссылка), у меня при попытке подключения к FTP выдается вот такая ошибка: libgcc_s.so.1 must be installed for pthread_cancel to work.
1 2 3 4 5 6 7 8 9 |
ftp 10.7.7.97 Connected to 10.7.7.97. 220 Jakonda FTP сервер. Name (10.7.7.97:jakonda): user1 331 Please specify the password. Password: libgcc_s.so.1 must be installed for pthread_cancel to work Login failed. 421 Service not available, remote server has closed connection |
Данная ошибка вызвана недостатком доступной процессу виртуальной памяти. Лимит определяется в значении VSFTP_AS_LIMIT в файле defs.h.
Увеличить значение VSFTP_AS_LIMIT можно пересобрав VSFTPD из исходников, с нужным нам значением и потом установить исправленную версию. Разберем ниже как это сделать.
Обновляем систему до актуального состояния:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Устанавливаем необходимые утилиты для сборки пакетов:
1 |
sudo apt-get install fakeroot build-essential |
Устанавливаем необходимые зависимости и загружаем исходник VSFTPD из репозитария:
1 2 |
sudo apt-get build-dep vsftpd sudo apt-get source vsftpd |
Переходим в каталог VSFTPD (на момент написания статьи, версия VSFTPD в репозитариях 3.0.2):
1 |
pushd vsftpd-3.0.2/ |
Редактируем файл defs.h
1 |
sudo nano defs.h |
Находим строку:
1 |
#define VSFTP_AS_LIMIT 100UL * 1024 * 1024 |
Приводим строку к виду:
1 |
#define VSFTP_AS_LIMIT 400UL * 1024 * 1024 |
Зафиксируем изменения, в процессе выполнения вводим имя патч файла.
1 |
sudo dpkg-source --commit |
Соберем пакет:
1 |
sudo fakeroot dpkg-buildpackage |
Выходим из каталога:
1 |
popd |
У вас должен создаться файл vsftpd_3.0.2-1ubuntu2.14.04.1_amd64.deb . Установим его (можно устанавливать по верх уже установленного VSFTPD, конфигурационный файл затронут не будет):
1 |
sudo dpkg --install vsftpd_3.0.2-1ubuntu2.14.04.1_amd64.deb |
Кому лень проделывать все выше описанные действия, можете скачать уже готовый пакет.
После установки пробуем подключится к FTP-серверу и на этот раз авторизация должна пройти успешно.
1 2 3 4 5 6 7 8 9 |
ftp 10.7.7.97 Connected to 10.7.7.97. 220 Jakonda FTP сервер. Name (10.7.7.97:jakonda): user1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. |
Понравилась или оказалась полезной статья, поблагодари автора
Оставить ответ