VSFTPD и FTP - 500 OOPS: priv_sock_get_cmd

Кое-как разобрался с настройкой VSFTPD по мануалам. Нашел в них маленькую ошибку, нашел в своих потугах маленькую ошибку. Передаю флаг дальше.

VSFTPD и FTP - 500 OOPS: priv_sock_get_cmd

Настройка vsftpd.conf

Не считая проблем с преобразованием некоторых символов в тексте и кривого перевода, мануал от ISS подходит для конфигурации vsftpsd.conf, создания отдельного пользователя и создания безопасного пути для соединения с сервером.

На случай, если искаженные команды непонятны или интересен другой взгляд на решение проблемы, вот хороший вариант от Digital Ocean на английском языке.

Остановитесь на этапе "настройка SSL", не выполняя его. Обращаю ваше внимание на то, что хоть инструкции и относительно похожи, они не идентичны.

Об используемых параметрах можно узнать из мануала или с помощью его локализации от aitishnik.ru.

Корректировки

Обратите внимание на параметры:

listen=X listen_ipv6=X

Здесь вам решать через какой IP протокол вы будете выполнять соединение. Эти параметры самостоятельны и не влияют на остальные в конфигурационном файле.

Далее обратите внимание на параметр:

secure_chroot_dir=/var/run/vsftpd/empty

Как говорится на сайте linuxfoundation.org:

"This directory was once intended for system information data describing the system since it was booted"

/var/run/ - это временная файловая система. Если вы создадите в ней каталог, после перезапуска системы каталога там может не быть.

Обойти это можно создав каталог в самой /var/, например /var/vsftpd/. Имейте в виду, что "каталог не должен быть записываемый для ftp пользователя".

FTP - 500 OOPS: priv_sock_get_cmd

Теперь можно совершить первое подключение к своему серверу через VSFTPD. Настоятельно рекомендую для этого использовать FTP клиент, например FileZilla. Это значительно упростит вам жизнь сейчас и после добавления SSL сертификатов.

После первой попытки подключиться, вас встретит (или уже встретила) ошибка из заголовка. Если этап настроек VSFTPD, создания пользователей и каталогов пройден без ошибок, решить проблему можно добавив (или раскомментировав) параметр:

seccomp_sandbox=NO

Этого параметра лично я в мануалах VSFTPD не вижу, но пояснения можно найти на сайте SUSE.

seccomp_sandbox add an aditional security layer limiting the number of a syscalls can be performed via vsftpd. However it might happen that a whitelist don't allow a legitimate call (usually indirectly triggered by third-party library like pam, or openssl) and the process is being killed by kernel.

suse.com

Теперь вас должно пустить на сервер.

Коротко - добавление SSL сертификатов и ещё одна проблема, связанная с конфигом

Касательно добавления самописных сертификатов. Рекомендую статью в блоге That's geeky. В неё входят и самописные сертификаты, и сертификаты от третьих лиц. Обратите внимание на приведенные пути к каталогам и сверьтесь со своими.

На свое усмотрение можно использовать методы, представленные ISS или Digital Ocean, где DO подробнее углубляются в данную тему.

Методы получения сертификатов и дальнейшей правки конфигурационного файлов у всех отличаются, но все они тем или иным методом затрагивают параметры:

#На примере Digital Ocean ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO

Если указать в конфигурационном файле параметр "ssl_sslv3", то перезагрузка сервиса VSFTPD закончится неудачей. Без этого параметра сервис, настроенный по примеру That's geeky, запускается и работает штатно.

Если верить приведенным в начале публикации мануалам, sslv2 и sslv3 выключены по умолчанию, тем временем как tlsv1 включен.

ssl_sslv3

Only applies if ssl_enable is activated. If enabled, this option will permit SSL v3 protocol connections. TLS v1 connections are preferred.

Default: NO

man

В зависимости от выбранного вами метода настройки, отсутствие в конфиге sslv3 навредить не должно. Но мое умозаключение ничего не стоит ибо основано оно на предположении и коротком наблюдении.

На данном этапе два моих дня мук с конфигом VSFTPD подходят к концу.

Благодарю за внимание и приветствую поправки написанного в комментариях.

#linux #vsftpd #FTP-500 #ssl

66
7 комментариев

непонятно и неинтересно

2
Ответить

Справедливо

2
Ответить

Непонятно, но интересно. Точно так же приходилось собирать рабочий гайд на просторах интернетапо написанию скрипта управления вертушками видеокарты, т.к. инструкция на вики арча содержала ошибку.

1
Ответить

Зачем в 2023м городить этого кривого динозавра?
У тебя ведь ssh есть? Вот и пользуйся sftp!
Или речь о локалке? samba в помощь!

1
Ответить

Изучают потихоньку дистрибутивы, выбор пал на сервер под alpine linux
Их вики порекомендовал vsftpd, решил в нем разобраться и помочь другим
Теперь я тупой, но быстрее

Ответить
Ответить

@Сломалось редактор немного конфликтует с хештегами с наличием "-"

Ответить