Вопрос или проблема
У меня есть сервер vsftp с такой конфигурацией, работающей на ubuntu 22.04:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/<скрыто>
rsa_private_key_file=/etc/<скрыто>
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_min_port=60000
pasv_max_port=60002
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Я ожидал, что сервер vsftp разрешит доступ только пользователям из /etc/vsftpd.userlist
, но он позволяет доступ любому локальному пользователю.
Я попробовал установить local_enable=NO
. Это не дало никакого эффекта.
/etc/vsftpd.userlist
содержит только двух пользователей.
Есть идеи?
Файл по умолчанию это /etc/vsftpd.user_list
(обратите внимание на нижнее подчеркивание), в то время как вы указали /etc/vsftpd.userlist
(без нижнего подчеркивания).
Пожалуйста, восстановите расположение по умолчанию, убрав строку с userlist_file=/etc/vsftpd.userlist
и убедитесь, что ваш файл списка пользователей в /etc
называется vsftpd.user_list
(с нижним подчеркиванием).
Затем перезапустите сервис vsftpd
.
Я заметил, что отключение ssl снова заставляет работать список пользователей. Похоже, использование ssl несовместимо со списком пользователей.
Ответ или решение
Решение проблемы с конфигурацией vsftpd и параметром userlist_enabled
Если ваш сервер vsftpd не учитывает параметр userlist_enabled
, и вы хотите разрешить доступ только определенным пользователям, указанным в файле /etc/vsftpd.userlist
, важно обратить внимание на несколько аспектов настройки и конфигурации. Давайте рассмотрим это более подробно.
1. Проверка конфигурации
Согласно вашему описанию, вы используете следующую конфигурацию:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/<hidden>
rsa_private_key_file=/etc/<hidden>
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_min_port=60000
pasv_max_port=60002
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Существуют некоторые ключевые моменты, которые необходимо проверить:
-
Путь к файлу userlist: Обычно файл по умолчанию называется
/etc/vsftpd.user_list
(с подчеркиванием). Убедитесь, что вы используете именно это имя, либо скорректируйте ваш файл/etc/vsftpd.userlist
на нужный путь и имя. -
Положение параметра userlist: Если вы оставили строку
userlist_file=/etc/vsftpd.userlist
, рассмотрите возможность её удаления и замены на стандартное имя, как упоминалось выше. Также обратите внимание на значениеuserlist_deny
. Если оно установлено вNO
, это означает, что разрешен доступ только указанным пользователям.
2. Проблемы с SSL
По вашим замечаниям, отключение SSL улучшает работу userlist. Действительно, существует вероятность, что некоторые конфигурации SSL могут конфликтовать с поведением сервера относительно управления пользователями.
-
Проблемы совместимости: Убедитесь, что версии vsftpd и используемых библиотек SSL/TLS совместимы между собой. В некоторых версиях могут существовать известные проблемы, которые вызывают некорректное поведение параметров доступа.
-
Проверка журналов: Включите логирование для лучшего понимания, что происходит. Логи могут содержать полезную информацию о том, какие пользователи и при каких условиях осуществляют попытки подключения.
3. Рекомендации по оптимизации
-
Обновление пакетов: Убедитесь, что ваш сервер Ubuntu полностью обновлен. Используйте команды
sudo apt update
иsudo apt upgrade
для этого. -
Тестирование конфигурации: После внесения изменений обязательно перезапустите сервис vsftpd:
sudo systemctl restart vsftpd
. Рекомендуется также использовать команду для проверки конфигурации:sudo vsftpd /etc/vsftpd.conf
.
Заключение
Каждое из предложенных решений требует тщательной проверки и тестирования. Основная цель – обеспечить безопасность вашего FTP-сервера и поддерживать корректную работу доступа для пользователей. Если проблема сохраняется, стоит обратиться к документации vsftpd и форумам поддержки, где можно получить дополнительное понимание специфики версий и особенностей конфигурации.