Почему vsftpd не работает когда pam_service_name=vsftpd?

Я сделал установку vsftpd на своем домашнем сервере. Я получил некоторую ошибку аутентификации, таким образом, я перерыл этот форум и получил решение. Это решение работало на меня

Как в решении. настройка по умолчанию

pam_service_name=vsftpd

не работает и FTP-сервер не позволяет мне входить в систему.

И После того, как я изменил его на

pam_service_name=ftp

Это работает, и я могу войти как свой локальный пользователь в FTP-сервер. Какова причина позади этого? Почему значение по умолчанию не работает? Я изучаю Linux, таким образом, Ваше хорошее объяснение может помочь мне много

7
задан 13 April 2017 в 05:24

3 ответа

Я столкнулся с той же ошибкой аутентификации с pam_service_name=vsftpd.

Следующий совет онлайн, я не мог разработать, почему установка pam_service_name=ftp решила проблему, таким образом, я протестировал установку этого к pam_service_name=foobar, и это также устранило проблему!

Правовая оговорка: Я также плохо знаком с Linux однако , я полагаю, что общепринятый совет установить pam_service_name=ftp неправильный .

pam_service_name=vsftpd выбирает существующий конфигурационный файл /etc/pam.d/vsftpd, однако pam_service_name=ftp будет искать /etc/pam.d/ftp, который не существует (по крайней мере, в моей системе - Ubuntu 14.04.2 LTS). Я подозреваю, что это на самом деле обходит аутентификацию PAM, не жалуясь, что она не может найти файл.

, не используя допустимую конфигурацию PAM, это может менее безопасный.

Конечное решение

я закончил тем, что сохранил pam_service_name=vsftpd и удостоверился, что оболочка пользователя существовала в /etc/shells файл. http://www.cyberciti.biz/tips/howto-linux-shell-restricting-access.html

Рассмотрение /etc/pam.d/vsftd

# Standard behaviour for ftpd(8).
auth    required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth    required    pam_shells.so

Моя проблема была то, что оно перестало работать в эти auth required pam_shells.so шаг. Я заставил всех своих пользователей FTP использовать эти /usr/sbin/nologin оболочка, которая не существовала в /etc/shells файл (нечеловечность, которой это могло бы быть всего /sbin/nologin). Если Вы не уверены, попытайтесь комментировать auth required pam_shells.so, чтобы видеть, является ли это причиной когда pam_service_name=vsftpd.

Примечание: Дополнительные материалы для чтения предполагают, что это более чисто, чтобы вместо этого создать виртуальных пользователей, но это требует другого vsftpd и конфигурации PAM - http://www.sigerr.org/linux/setup-vsftpd-custom-multiple-directories-users-accounts-ubuntu-step-by-step/ .

6
ответ дан 23 November 2019 в 06:29

В/etc/pam.d/vsftpd можно указать

auth required pam_nologin.so

таким образом, пользователи, вход в систему которых отключен через/usr/sbin/nologin, могут только войти в систему посредством ftp.

Примечание: Я считал, что добавление nologin к/etc/shells могло бы изложить угрозу нарушения безопасности на Serverfault.

2
ответ дан 23 November 2019 в 06:29

Для меня проблема состояла в том, что я создал конфигурацию PAM (/etc/pam.d/vsftpd) на машине Windows, приводящей к \r\n окончания строки.

После того как я преобразовал окончания строки в стиль Linux (просто \n), конфигурация PAM начала работать.

Я также сначала думал, что сервисное название PAM было неправильным, и попробовало pam_service_name=ftp вместо pam_service_name=vsftpd, но это не помогло вообще, и я соглашаюсь с оценкой Josef P., что это не способ пойти.

1
ответ дан 23 November 2019 в 06:29

Другие вопросы по тегам:

Похожие вопросы: