Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 45331|Ответ: 0

[FTP] ubuntu vsftpd 530 Некорректная причина входа и решение

[Скопировать ссылку]
Опубликовано 04.07.2019 15:56:31 | | |
1 Анализ предыстории
Обычно используется установка Ubuntu VSFTPD:


Моя версия сервиса для centOS следующая:

[корень@itsvse~]# vsftpd -версия
vsftpd: version 3.0.2



После обращения к конфигурации других онлайн-уроков, если учетная запись, пароль и домашняя папка верны, вы можете столкнуться с проблемой неправильного входа в подсказку 530.
В Интернете есть множество решений, например, изменение файла /etc/vsftpd.conf для изменения pam_service_name=vsftpd на pam_service_name=ftp, что может решить эту проблему, но на самом деле этот метод ошибочный.Это связано с тем, что файл /etc/pam.d/ftp не существует, равнообходил PAM

2 vsftpd PAM-анализ

/etc/pam.d/vsftpd 默认如下

#%PAM-1.0
сессия необязательна pam_keyinit. Поэтому принудительно отменить
Требовалась аутентификация pam_listfile.so item=User Sense=Deny file=/etc/vsftpd/ftpusers onerr=succeed
Авторизация требовала pam_shells.so
Авторизация включать пароль-аутентификацию
аккаунт включить пароль-аутентификацию
Требуется сессия pam_loginuid.so
Сессия включает аутентификацию пароля

Есть вещи, которые могут привести к ошибкам 530
требуется авторизация pam_listfile.so item=User Sense=Deny file=/etc/ftpusers onerr=Succeed


и
Авторизация требовала pam_shells.so

2.1 /etc/ftpusers

требуется авторизация pam_listfile.so item=User Sense=Deny file=/etc/ftpusers onerr=Succeed
Смысл этого элемента конфигурации таков: пользователям в /etc/ftpusers запрещено входить в систему, если файл отсутствует в стандартном режиме — все пользователи могут войти. Поэтому убедитесь, что пользователь не находится в этом файле.

2.2 pam_shells.so

Для аутентификация требовалась конфигурационная pam_shells.so с командами shell в файле



cat /etc/shells
# /etc/shells: действительные оболочки для входа
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
При создании FTP-пользователя,Чтобы отключить вход в SSH, обычно /bin/false, /usr/sbin/nologinи так далее, очевидно, это не валидный bash, поэтому войти нельзя.

3 Решение

1. Проверьте /etc/ftpusers, чтобы убедиться, что аккаунта нет в этом файле.
2. Модифицировать /etc/pam.d/vsftpd
Модифицировать авторизацию, требующую pam_shells.so в ->требуется авторизация pam_nologin.so (Или оставьте комментарий на эту строку
3. Перезапуск vsftpd


(Конец)




Предыдущий:VS2017 +EF6 Подключитесь к базе данных MYSQL для генерации сущностей
Следующий:Java распаковывает вложенные файлы (с пустыми папками) с помощью zipInputStream
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com