Ошибка vsftpd: 530 Неправильный логин (и другие при попытке попробовать другие решения на этом сайте)
Я знаю, что этот вопрос задавался бесчисленное количество раз, но я чувствую, что перепробовал все возможные решения, и ни одно из них, похоже, не работает.
Некоторые статьи, которые я прочитал и попытался использовать:
vsftpd ошибка 530 неверный вход в систему происходит с действительными учетными данными и 5 статьями, на которые ссылается одна. AskUbuntu - vsftpd 530 неверный логин и около 10, которые предлагают такое же решение. LinuxQuestions.org - неверный логин vsftpd
Раньше я включал UFW (с 20:22/tcp и 20000:20200/tcp) для активного и пассивного FTP, но в какой-то момент отключил все это.
Я пытался использовать xinetd, но он работал так же хорошо, как и vsftpd-standalone, за исключением ошибок "500 OOPS: запустить две копии vsftpd для IPv4 и IPv6" и "500 OOPS: не удалось связать прослушивающий сокет IPv4". Однако после решения этих двух проблем возникла та же проблема (ошибка 530).
Мой обычный файл конфигурации (/etc/vsftpd.conf) выглядит так:
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to the 'server name' FTP server.
deny_email_enable=YES
banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/etc/vsftpdjail
listen=YES
#listen_ipv6=YES
ssl_enable=YES
force_local_logins_ssl=NO
force_local_data_ssl=NO
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/certs/vsftpd.pem
require_ssl_reuse=NO
pasv_min_port=20000
pasv_max_port=20200
pasv_enable=YES
pam_service_name=vsftpd
Тем не менее, комментируя все от deny_email_enable
и downward (отключение passive, ssl и pam), за исключением 'listen=YES', не дает других результатов.
vsftpd.service включен и запущен в systemctl
xinetd.service отключен и остановлен в systemctl (после некоторого тестирования)
Файл PAM (/etc/pam.d/vsftpd) содержит:
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
#@include common-account
#@include common-session
#@include common-auth
auth required pam_shells.so
Файлы, упомянутые в DO, существуют и имеют разрешения: root:root 744
Мое имя пользователя НЕ в / etc / ftpusers
Оболочка для входа в систему моего пользователя (/bin/bash) находится в / etc / shells
Мой пользователь находится в / etc / passwd
Всякий раз, когда я пытаюсь войти в систему, я снова и снова получаю одну и ту же ошибку:
Connecting to 192.168.178.49:21...
Connection made, awaiting welcome message...
Initializing TLS...
Checking certificate...
Established TLS-connection.
USER username
331 Please specify the password.
PASS ************
530 Login incorrect.
Fatal error: Can't connect to server.
'sudo netstat -tulpn' показывает:tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 342/vsftpd
/var/log/vsftpd.log показывает одно и то же сообщение снова и снова:
CONNECT: Client "192.168.178.69"
[username] FAIL LOGIN: Client "192.168.178.69"
без дополнительной информации. (Использование тех же учетных данных, которые я использую для входа через SSH и локально на сервере)
У меня совершенно нет идей после того, как я исследовал эту проблему в течение 6 часов подряд. Так что любая помощь оценивается.
Также системная информация:
Processor: 2xIntel Pentium G6950@2.800GHz (intel-ucode IS installed)
OS: Arch Linux 5.0.9-arch1-1-ARCH x86_64 (Up-to-date and installed today)
RAM: 8192MB
Internet both Server and Client: 1Gbps cat 5e cable directly to modem
No firewall on client or modem
Edit1: отредактированные опечатки в /etc/pam.d/vsftpd
4 ответа
После того, как я отправил вопрос, я попытался немного дольше, но безрезультатно. Перенесемся в один прекрасный день, и я решил полностью стереть операционную систему, переустановить и сделать vsftpd самым, самым первым, что нужно сделать после того, как начнут работать ОС. Поэтому я не уверен, что то, что я изменил, устранило проблему или что-то пошло не так во время первоначальной установки операционной системы, но здесь мы все равно пойдем:
Я был совершенно сбит с толку, почему никакие решения от других, у которых была такая же проблема, не помогли, пока я не прочитал последнюю запись на странице устранения проблем Arch Linux vsftpd, в которой говорится, что PAM был обновлен в 2019 году (!) И что аутентификация для локальных пользователей сейчас работает по другому. Также приведен пример файла /etc/pam.d/vsftpd:
#%PAM-1.0
account required pam_listfile.so onerr=fail item=user sense=allow file=/etc/vsftpd.user_list
account required pam_unix.so
auth required pam_unix.so
И вдруг, это работает.
Я добавил только одну строку в файл конфигурации, когда тестировал, включил "анонимного" пользователя и получил ошибку "список каталогов". Это также было рекомендовано в разделе устранения неполадок на той же странице.
seccomp_sandbox=NO
Но я искренне сомневаюсь, что что-то изменилось для входа в систему для локальных пользователей, что было моим первоначальным вопросом.
Просто чтобы добавить к множеству ответов: у меня была нестандартная оболочка, назначенная учетным записям пользователей, и ее нужно было добавить в /etc/shells.
Wisegay, я думаю, что это может быть проблема с правами доступа к каталогу пользователя. Пожалуйста, проверьте URL https://help.ubuntu.com/community/vsftpd для разрешения пользователя dir и содержимого файла pam. Я надеюсь, что это поможет вам.
Давненько не пользовался vsftpd и забыл, что приятно
530: login incorrect
предмет.
Потратил пару часов, играя со всеми возможными решениями, которые мне удалось найти в Google, и, наконец, вспомнил основную причину проблемы:
В то время как
pam_service_name=ftp
задокументировано как значение по умолчанию, минимальная конфигурация по умолчанию не работает (RHEL7.5, vsftpd3.0.2), бросая
login incorrect
ошибка.
Ошибка исчезла, когда
pam_service_name=vsftpd
был установлен в
/etc/vsftpd/vsftpd.conf